mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-04-13 10:59:56 +02:00
113 lines
3.8 KiB
Plaintext
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/;
|
|
}
|
|
|
|
}
|