Ceryx 是基于 NGINXOpenResty 的动态反向代理,带有一个 API。
Ceryx 使用 NGINX OpenResty 为了基于请求主机进行路由请求。这个路由是使用 NGINX Lua 模块制作的,可以通过查询一个 Redis 后端获取结果。
Ceryx 包含一个简单 Flask Web 服务,支持路由的 REST 操作。用户可以使用一个 REST 客户端动态创建,更新和删除路由。
Ceryx 支持使用环境变量配置,支持的配置选项:
CERYX_NAME
: sets the API service name - defaults to ceryx
CERYX_DEBUG
: enables debuging on the API service - defaults to true
CERYX_API_HOST
: sets the host that the API will bind to - defaults to 127.0.0.1
CERYX_API_PORT
: sets the port that the API will listen - defaults to 5555
CERYX_SERVER_NAME
: the URL of the API service - default to None
CERYX_SECRET_KEY
: the path of the secret key to use - defaults to None
CERYX_REDIS_HOST
: the redis host to connect to - defaults to 127.0.0.1
CERYX_REDIS_PORT
: the redis port to connect to - defaults to 6379
CERYX_REDIS_PREFIX
: the redis prefix to use in keys - defaults to ceryx
示例:
# production.yml proxy: extends: file: base.yml service: proxy ports: - "80:80" environment: - CERYX_REDIS_HOST=my.redis.host api: extends: file: base.yml service: api ports: - "5555:5555" environment: - CERYX_REDIS_HOST=my.redis.host - CERYX_DEBUG=false - CERYX_SECRET_KEY=/path/to/production/secret