{"repo":"withlogicco/ceryx","free":true,"listed":false,"github":"https://github.com/withlogicco/ceryx","clone":"git clone https://github.com/withlogicco/ceryx.git","description":"Dynamic reverse proxy based on NGINX OpenResty with an API","language":"Python","stars":817,"topics":["nginx","proxy","nginx-openresty","ssl","letsencrypt","lets-encrypt","docker"],"license":"MIT","category":"networking-infra","readme_excerpt":"Ceryx - Rock-solid, programmable HTTP(S) reverse proxy Ceryx is the rock-solid, programmable reverse proxy used to provide tens of thousands of SourceLair projects with their unique HTTPS-enabled public URLs. High-level architecture One of the main traits of Ceryx that makes it rock-solid is the simplicity in its design. Ceryx is comprised of two components and a Redis backend: the HTTP(S) reverse proxy and an API. Proxy Ceryx uses NGINX OpenResty under the hood to route requests, based on the HTTP request's Host header or the Server Name Indication in HTTPS requests. Ceryx queries the Redis backend to decide to which target it should route each request. API The Ceryx API lets users dynamically create, update and delete Ceryx routes via any HTTP client. The API essentially validates, sanitizes and eventually stores input in the Ceryx backend, to be queried by the proxy. Configuration Ceryx is configured with the following environment variables: - CERYX API HOST : The host to bind the Ceryx API (default: 127.0.0.1 ) - CERYX API HOSTNAME : Optional publicly accessible hostname for the Ceryx API (default: None) - CERYX API PORT : The port to bind the Ceryx API (default: 5555 ) - CERYX DEBUG : Enable debug logs for Ceryx API (default: true ) - CERYX DISABLE LETS ENCRYPT : Disable automatic Let's Encrypt HTTPS certificate generation (default: false ) - CERYX DNS RESOLVER : The IP of the DNS resolver to use (default: 127.0.0.11 — the Docker DNS resolver) - CERYX DOCKERIZE EXTRA ARG","default_branch":null,"files":null,"tree":[],"storefront":"/r/withlogicco","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/withlogicco/ceryx/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}