Nginx proxy that is upstream configured through an etcd key manifest
1.1K
Reads etcd for "apps" domain keys, and converts them into reverse proxy configuration for nginx.
Example run:
docker run -d -e ETCD_PORT=5001 \
-e HOST_IP=192.168.59.103 \
-p 80:80 -p 443:443 \
-v /my/certs:/etc/ssl/private \
--name=etcd-nginx-proxy-ssl \
etcd-nginx-proxy-ssl
For example:
etcdctl set /nginx/apps/mydomain.dev/192.168.59.103:3000 '192.168.59.103:3000'
etcdctl set /nginx/apps/mydomain.dev/192.168.59.103:3001 '192.168.59.103:3001'
Will result in this configuration being added to nginx:
upstream 6173636d6564616d696e652e6f626572642e636f6d {
server 192.168.59.103:3000;
server 192.168.59.103:3001;
}
server {
listen [::]:80;
listen 80;
server_name mydomain.dev;
return 301 https://mydomain.dev$request_uri;
}
server {
listen [::]:443 ssl spdy;
listen 443 ssl spdy;
server_name mydomain.dev;
access_log /var/log/nginx/mydomain.dev.access.log;
error_log /var/log/nginx/mydomain.dev.log;
ssl_certificate /etc/ssl/private/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;
keepalive_timeout 70;
add_header Alternate-Protocol 443:npn-spdy/2;
location / {
proxy_pass http://6173636d6564616d696e652e6f626572642e636f6d;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
}
Content type
Image
Digest
sha256:3a273f292…
Size
98.6 MB
Last updated
almost 11 years ago
docker pull oberd/etcd-nginx-proxy-ssl