diff --git a/swarm-proxy-letsencrypt/app/letsencrypt_service b/swarm-proxy-letsencrypt/app/letsencrypt_service index ec4768014466bd880229fd8a9532ab55c2690d81..c46aa85b8e6d24b7ccd0fcf25a0423e23014043f 100755 --- a/swarm-proxy-letsencrypt/app/letsencrypt_service +++ b/swarm-proxy-letsencrypt/app/letsencrypt_service @@ -331,7 +331,7 @@ function update_certs { server { server_name ${LE_HOST}; - listen 444 ssl http2 ; + listen 444 ssl http2 proxy_protocol; ssl_session_timeout 5m; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; @@ -351,6 +351,11 @@ server { include /etc/nginx/loc.d/${LE_HOST}-all-*; include /etc/nginx/loc.d/default*; + proxy_set_header Host \$host; + proxy_set_header X-Real-IP \$proxy_protocol_addr; + proxy_set_header X-Forwarded-For \$proxy_protocol_addr; + proxy_set_header X-Forwarded-Proto https; + proxy_pass http://${LE_HOST}_upstream; } } diff --git a/swarm-proxy/https-routing.conf.tmpl b/swarm-proxy/https-routing.conf.tmpl index 7346d61a6a38d07238a27e210a5b75f18e380729..387c5def99ed6e504a95bd8582994e9a28332d8f 100644 --- a/swarm-proxy/https-routing.conf.tmpl +++ b/swarm-proxy/https-routing.conf.tmpl @@ -15,10 +15,11 @@ stream { server 127.0.0.1:444; } + proxy_protocol on; + server { listen 443; proxy_pass $name; ssl_preread on; } } - diff --git a/swarm-proxy/swarm-proxy.conf.tmpl b/swarm-proxy/swarm-proxy.conf.tmpl index cbf11e1c4c6732505af0ec5bb81931da63ca9d40..e11090a1d10114315730067520d0a074d7e2aae2 100644 --- a/swarm-proxy/swarm-proxy.conf.tmpl +++ b/swarm-proxy/swarm-proxy.conf.tmpl @@ -14,6 +14,12 @@ server { include /etc/nginx/loc.d/${LE_HOST}-http-*; include /etc/nginx/loc.d/${LE_HOST}-all-*; include /etc/nginx/loc.d/default*; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_pass http://${HOST}_upstream; } }