Simple nginx reverse proxy https://github.com/etcha-sketch/simple-nginx-rp
3.9K
A very simple nginx reverse proxy. This is useful as it will automatically configure logging, unique self-signed certificates, and identifying server_headers.
Docker-cli example
docker run -d \
-e PROXY_DEST_SCHEME=http \
-e PROXY_DEST_SERVER_NAME_OR_IP=127.0.0.1 \
-e PROXY_DEST_SERVER_PORT=80 \
-e SERVER_HEADER_NAME=MyReverseProxy \
-e CERT_COUNTRY=US \
-e CERT_ST=State \
-e CERT_LOCALITY=MyCity \
-e CERT_ORGANIZATION=MyOrg \
-e CERT_CN=myserver.local \
-e REDIRECT_PROXY_ACCESS_TO_STDOUT=FALSE \
--volume nginx-certs:/etc/nginx/ssl/ \
--volume nginx-server-conf:/etc/nginx/nginx-conf/ \
--volume nginx-logs:/var/log/nginx/ \
--volume nginx-sites-conf:/etc/nginx/sites-enabled/ \
-p 7000:443 \
--name example-simple-nginx-rp \
etch4sketch/simple-nginx-reverse-proxy:latest
Docker-compose example protecting another generic nginx web server running on port 80
# Sample docker-compose to protect a generic webserver running on port 80 with a HTTPS reverse proxy
name: simple-nginx-reverse-proxy-demo
services:
demo-webserver:
container_name: demo-webserver
image: nginx
networks:
- nginx-rp-demo
restart: no
nginx-rp:
image: etch4sketch/simple-nginx-reverse-proxy:latest
container_name: nginx-rp
restart: no
volumes:
- demo-nginx-rp-certs:/etc/nginx/ssl/
- demo-nginx-rp-server-conf:/etc/nginx/nginx-conf/
- demo-nginx-rp-logs:/var/log/nginx/
- demo-nginx-rp-sites-conf:/etc/nginx/sites-enabled/
environment:
PROXY_DEST_SCHEME: "http" # http/https
PROXY_DEST_SERVER_NAME_OR_IP: "demo-webserver"
PROXY_DEST_SERVER_PORT: "80"
SERVER_HEADER_NAME: "MyDemoRP"
REDIRECT_PROXY_ACCESS_TO_STDOUT: "TRUE" # TRUE/NONE/FALSE
CERT_COUNTRY: CO
CERT_ST: ST
CERT_LOCALITY: My City
CERT_ORGANIZATION: demo
CERT_CN: demo-webserver.local
ports:
- "2222:443"
networks:
- nginx-rp-demo
volumes:
demo-nginx-rp-sites-conf:
demo-nginx-rp-logs:
demo-nginx-rp-server-conf:
demo-nginx-rp-certs:
networks:
nginx-rp-demo:
name: nginx-rp-demo
Please see the respective GitHub page for the build and run scripts and to submit any issues or contribute any code.
Content type
Image
Digest
sha256:77fd88c47…
Size
91.8 MB
Last updated
6 months ago
docker pull etch4sketch/simple-nginx-reverse-proxy