1+ # The following mapping block declares a relationship between the
2+ # public port the nginx-le container listens on and the service name for your service containers.
3+ # 1. Service containers shoudl be at the same network (pub-shared-net) as nginx-le container
4+ # You can modify/add more networks in docker-compose files.
5+ # 2. Nginx-le container must be initialized after service container initialization and shared network creation.
6+
7+ map $server_port $stg_pass_route {
8+ # port => container name:port
9+ "443" "web:8080";
10+
11+ default "localhost:$server_port";
12+ }
13+
14+ server {
15+ server_name you-domain.com;
16+
17+ # must specify docker DNS as a resolver when use variables for proxy_pass
18+ resolver 127.0.0.11 ipv6=off;
19+
20+ # list all publically available ports for domain
21+ listen 80;
22+ listen 443;
23+
24+ ssl on;
25+ ssl_certificate SSL_CERT;
26+ ssl_certificate_key SSL_KEY;
27+ ssl_trusted_certificate SSL_CHAIN_CERT;
28+
29+ client_max_body_size 2M;
30+
31+ location / {
32+ proxy_set_header Host $http_host;
33+ proxy_set_header X-Real-IP $remote_addr;
34+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
35+ proxy_set_header X-Forwarded-Proto $scheme;
36+
37+ # use the mapped hostname and port for a proxy target
38+ proxy_pass "http://$stg_pass_route";
39+ }
40+ }
41+
42+ map $server_port $dev_pass_route {
43+ # port => name label:port
44+ "443" "web:8081";
45+
46+ default "localhost:$server_port";
47+ }
48+
49+ server {
50+ server_name sub.you-domain.com;
51+
52+ # must specify docker DNS as a resolver when use variables for proxy_pass
53+ resolver 127.0.0.11 ipv6=off;
54+
55+ # list all publically available ports for domain
56+ listen 80;
57+ listen 443;
58+
59+ ssl on;
60+ ssl_certificate SSL_CERT;
61+ ssl_certificate_key SSL_KEY;
62+ ssl_trusted_certificate SSL_CHAIN_CERT;
63+
64+ client_max_body_size 2M;
65+
66+ location / {
67+ proxy_set_header Host $http_host;
68+ proxy_set_header X-Real-IP $remote_addr;
69+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
70+ proxy_set_header X-Forwarded-Proto $scheme;
71+
72+ # use the mapped hostname and port for a proxy target
73+ proxy_pass "http://$dev_pass_route";
74+ }
75+ }
0 commit comments