Sign inSign up

etch4sketch/simple-nginx-reverse-proxy

By etch4sketch

Updated 6 months ago

Simple nginx reverse proxy https://github.com/etcha-sketch/simple-nginx-rp

Image
Security
Web servers
0

3.9K

etch4sketch/simple-nginx-reverse-proxy repository overview

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.

https://github.com/etcha-sketch/simple-nginx-rp

Tag summary

Content type

Image

Digest

sha256:77fd88c47

Size

91.8 MB

Last updated

6 months ago

docker pull etch4sketch/simple-nginx-reverse-proxy