Fully-fledged proxy server with support for HTTPS and websocket (WSS) queries with automatically generated Let's Encrypt SSL certificates
- Automatically get free SSL certificate from Let's Encrypt
- Easily redirect requests for your domain to any internal address (like server on any port)
- Distribute incoming traffic across several servers with built-in balancer
- Websocket support
- Pre-Setup Balancer
Based on greenlock-express and forked from greenlock-proxy.
If you want to run the green proxy on a development environment, install node, then do the following:
- Copy and rename
config.example.jsontoconfig.jsonand fill in the details there - See here forconfig.jsondocumentation - Run
npm ito install the dependencies - Run
npm run startto start the proxy
When running live, we use PM2 to handle the process running
- Copy and rename
config.example.jsontoconfig.jsonand fill in the details there - See here forconfig.jsondocumentation - Run
npm ito install the dependencies - Run
npm i -g pm2to install PM2 - Run
npm run deployto deploy the application - Run
npm run statusto see the status of the deployment - Run
npm run logto see any logs - Run
npm run redeployto redeploy if any changes are made to the application or config file - Run
npm run stop && npm run destroyto remove the deployment
See below for a list of valid attributes to include in the config.json file
maintainerEmail(required): The email address to send to Let's Encrypt for maintanence purposes - must be validstaging(required): True if you want to test this application, false if you'd like to generate real certificatessites(required): An array of the proxies that you want to create - objects inside this array must include:domains(required): List of domains to proxy for (ignoring protocol)targets(required): List of locations to proxy to