From 288306b41e5a27844f17a79bb2ec3779f198d47a Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Wed, 8 Jun 2022 20:35:37 +0200 Subject: [PATCH] Allow http/https with custom port (@met67) https://github.com/alexbelgium/hassio-addons/issues/345 --- .../rootfs/etc/nginx/servers/ingress.conf | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/calibre_web/rootfs/etc/nginx/servers/ingress.conf b/calibre_web/rootfs/etc/nginx/servers/ingress.conf index bf1e52ad9..6bde794c0 100644 --- a/calibre_web/rootfs/etc/nginx/servers/ingress.conf +++ b/calibre_web/rootfs/etc/nginx/servers/ingress.conf @@ -5,20 +5,30 @@ server { client_max_body_size 0; location / { - add_header Access-Control-Allow-Origin *; + + # Base from https://github.com/janeczku/calibre-web/wiki/Setup-Reverse-Proxy#nginx + proxy_bind $server_addr; proxy_pass http://127.0.0.1:8083; - proxy_buffering off; - proxy_read_timeout 30; proxy_set_header Connection "Upgrade"; proxy_set_header Upgrade $http_upgrade; - proxy_bind $server_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Scheme $scheme; proxy_set_header X-Script-Name %%UIPATH%%; # IMPORTANT: path has NO trailing slash - #proxy_set_header HA-Calibre-User admin; - proxy_redirect http://$host/ $scheme://$host:%%haport%%/; - proxy_redirect $scheme://$host/ $scheme://$host:%%haport%%/; + + # Optimisation + proxy_buffering off; + proxy_read_timeout 30; + add_header Access-Control-Allow-Origin *; + + # Ensure work with both http and https (code by @met67) + if ($http_referer ~* "^(http[s]?)://([^:]+):(\d*)(/.*)$") { + set $x_scheme $1; + set $x_host $2; + set $x_port $3; + } + + proxy_set_header X-Scheme $x_scheme; + proxy_redirect http://$host/ $x_scheme://$x_host:$x_port/; + proxy_redirect https://$host/ $x_scheme://$x_host:$x_port/; } } -