Skip to content
James Wong edited this page May 1, 2017 · 5 revisions

Welcome to the express-gateway wiki!

Pipeline resolution based on hostname and path both with wildcard support

####Public Endpoints host, path, pipeline_name

####Private Endpoints url, port, path

http server configs port

https server configs port and certificates

pipelines

APIs - group of public endpoint (Does not include consumer management)

YAML example: publicEndpoints: # specify pipeline per domain and path cats: host: ".cats.com" # regexp support path: / # optional defaults to / pipeline: cats_pipeline mycats: host: ".mycats.com" path: /cats pipeline: cats_pipeline big-dogs: host: big-dogs.com pipeline: dogs_pipeline animals-cats: host: "animals.com" path: /cats pipeline: cats_pipeline animals-dogs: host: "animals.com" path: /dogs pipeline: dogs_pipeline

http: # if not specified EG will not start http server port: 9080

https: # if not specified EG will not start https server port: 9443 certificates: # will use SNI callback to provide proper certificate for domain "*.lunchbadger.io": key: "example/keys/lunchbadger.io.key.pem" cert: "example/keys/lunchbadger.io.cert.pem" "api.lunchbadger.com": key: "example/keys/lunchbadger.com.key.pem" cert: "example/keys/lunchbadger.com.cert.pem" "default": key: "example/keys/lunchbadger.io.key.pem" cert: "example/keys/lunchbadger.io.cert.pem"

privateEndpoints: # urls to downstream services cats_service: url: "http://localhost" port: 3000 path: / # optional defaults to / dogs_service: url: http://localhost port: 4000

pipelines: cats_pipeline: title: Cats Pipeline policies:

  • action: name: proxy # proxy to cats_service downstream service privateEndpoint: cats_service

dogs_pipeline: title: dogs Pipeline policies:

  • condition: name: always

action:

name: oauth2-basic

params:

- action:

name: oauth2-bearer

- action:

name: ensure-autenticated # ensure user has logged in 403 otherwise

- action:

name: oauth2-scope

allow-scopes:

- '/dogs'

action: name: proxy # proxy to dogs_service downstream service privateEndpoint: dogs_service

apis: animals: name: animals plan: free public_endpoints:

  • cats
  • mycats
  • dogs
Clone this wiki locally