Sign inSign up

oberd/etcd-nginx-proxy-ssl

By oberd

Updated almost 11 years ago

Nginx proxy that is upstream configured through an etcd key manifest

Image
0

1.1K

oberd/etcd-nginx-proxy-ssl repository overview

etcd-nginx-proxy

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;
	  }
	}

Tag summary

Content type

Image

Digest

sha256:3a273f292

Size

98.6 MB

Last updated

almost 11 years ago

docker pull oberd/etcd-nginx-proxy-ssl