Files
hassio-addons/tandoor_recipes/rootfs/etc/nginx/servers/ingress.conf
Alexandre 2e6e4693a7 revert
2023-10-17 08:59:23 +02:00

113 lines
3.8 KiB
Plaintext

server {
listen %%interface%%:%%port%% default_server;
include /etc/nginx/includes/server_params.conf;
include /etc/nginx/includes/proxy_params.conf;
client_max_body_size 0;
root /opt/recipes/cookbook;
location /switch-space/ {
proxy_pass http://127.0.0.1:8080/switch-space/;
proxy_redirect "/" "%%ingress_entry%%/";
# Allow ingress subpath
#proxy_set_header X-Script-Name %%ingress_entry%%;
proxy_cookie_path / %%ingress_entry%%/;
# Allow frames
add_header X-Frame-Options SAMEORIGIN;
add_header Access-Control-Allow-Origin *;
proxy_set_header Accept-Encoding "";
# avoid mixed content
# 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";
}
# Ensure works if standard port (code by @met67)
if ($http_referer ~* "^(http[s]?)://([^:]+)(/.*)$") {
set $x_scheme $1;
set $x_host $2;
set $x_port "";
}
proxy_set_header X-Scheme $x_scheme;
proxy_set_header X-Host $x_host;
proxy_set_header X-Port $x_port;
proxy_set_header X-Forwarded-Proto $x_scheme;
proxy_set_header Host $x_host$x_port; # Required for addresses without ports
# Correct url without port when using https
absolute_redirect off;
sub_filter_once off;
sub_filter_types *;
sub_filter https://$x_host/ https://$x_host$x_port/;
sub_filter http://$x_host/ http://$x_host$x_port/;
sub_filter "/static" "%%ingress_entry%%/static";
sub_filter "/media" "%%ingress_entry%%/media";
sub_filter "http://127.0.0.1:8080/" "/";
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_buffering off;
proxy_read_timeout 30;
proxy_set_header Connection "Upgrade";
proxy_set_header Upgrade $http_upgrade;
# Allow ingress subpath
proxy_set_header X-Script-Name %%ingress_entry%%;
proxy_cookie_path / %%ingress_entry%%/;
# Allow frames
proxy_hide_header "Content-Security-Policy";
add_header X-Frame-Options SAMEORIGIN; # Required for ingress frame
add_header Access-Control-Allow-Origin *;
proxy_set_header Accept-Encoding "";
# avoid mixed content
# 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";
}
# Ensure works if standard port (code by @met67)
if ($http_referer ~* "^(http[s]?)://([^:]+)(/.*)$") {
set $x_scheme $1;
set $x_host $2;
set $x_port "";
}
proxy_set_header X-Scheme $x_scheme;
proxy_set_header X-Host $x_host;
proxy_set_header X-Port $x_port;
proxy_set_header X-Forwarded-Proto $x_scheme;
proxy_set_header Host $x_host$x_port; # Required for addresses without ports
# Correct url without port when using https
absolute_redirect off;
sub_filter_once off;
sub_filter_types *;
sub_filter https://$x_host/ https://$x_host$x_port/;
sub_filter http://$x_host/ http://$x_host$x_port/;
# Rewrite url
sub_filter "/static" "%%ingress_entry%%/static";
sub_filter "/media" "%%ingress_entry%%/media";
sub_filter "http://127.0.0.1:8080/" "/";
}
location /media/ {
alias /config/addons_config/tandoor_recipes/mediafiles/;
}
location /static/ {
alias /data/recipes/staticfiles/;
}
}