From fa8b0d7bad7727dd115c356a0f96f6e3c7af1a6e Mon Sep 17 00:00:00 2001 From: John Stucklen Date: Tue, 15 Jun 2021 00:22:17 +0200 Subject: [PATCH] fix: HTTPS redirection with custom HTTPS port --- README.md | 2 +- nginx.tmpl | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5e12190..8d007d2 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ In this example, the `my-nginx-proxy` container will be connected to `my-network ### Custom external HTTP/HTTPS ports -If you want to use `nginx-proxy` with different external ports that the default ones of `80` for `HTTP` traffic and `443` for `HTTPS` traffic, you'll have to use the environment variable(s) `HTTP_PORT` and/or `HTTPS_PORT` in addition to the changes to the Docker port mapping. Typical usage, here with the custom ports `1080` and `10443`: +If you want to use `nginx-proxy` with different external ports that the default ones of `80` for `HTTP` traffic and `443` for `HTTPS` traffic, you'll have to use the environment variable(s) `HTTP_PORT` and/or `HTTPS_PORT` in addition to the changes to the Docker port mapping. If you change the `HTTPS` port, the redirect for `HTTPS` traffic will also be configured to redirect to the custom port. Typical usage, here with the custom ports `1080` and `10443`: $ docker run -d -p 1080:1080 -p 10443:10443 -e HTTP_PORT=1080 -e HTTPS_PORT=10443 -v /var/run/docker.sock:/tmp/docker.sock:ro nginxproxy/nginx-proxy diff --git a/nginx.tmpl b/nginx.tmpl index 1dfbaba..ce55b72 100644 --- a/nginx.tmpl +++ b/nginx.tmpl @@ -276,7 +276,11 @@ server { } location / { + {{ if eq $external_https_port "443" }} return 301 https://$host$request_uri; + {{ else }} + return 301 https://$host:{{ $external_https_port }}$request_uri; + {{ end }} } } {{ end }}