mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-03-12 16:10:41 +01:00
56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
server {
|
|
listen %%interface%%:%%port%% default_server;
|
|
include /etc/nginx/includes/server_params.conf;
|
|
include /etc/nginx/includes/proxy_params.conf;
|
|
|
|
proxy_buffering off;
|
|
gzip_static off;
|
|
client_max_body_size 0;
|
|
|
|
# Based on https://github.com/seerr-team/seerr/blob/develop/docs/extending-seerr/reverse-proxy.mdx
|
|
location ^~ / {
|
|
set $app '%%ingress_entry%%';
|
|
|
|
rewrite ^%%ingress_entry%%/?(.*)$ /$1 break;
|
|
proxy_pass http://127.0.0.1:5055;
|
|
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
|
|
proxy_hide_header X-Powered-By;
|
|
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 $scheme;
|
|
proxy_set_header Accept-Encoding "";
|
|
proxy_read_timeout 90;
|
|
add_header X-Frame-Options "SAMEORIGIN";
|
|
add_header 'Referrer-Policy' 'no-referrer';
|
|
|
|
# Redirect location headers
|
|
absolute_redirect off;
|
|
proxy_redirect ^ $app;
|
|
proxy_redirect /setup $app/setup;
|
|
proxy_redirect /login $app/login;
|
|
|
|
# Sub filters to replace hardcoded paths
|
|
sub_filter_once off;
|
|
sub_filter_types *;
|
|
sub_filter 'href="/"' 'href="$app"';
|
|
sub_filter 'href="/login"' 'href="$app/login"';
|
|
sub_filter 'href:"/"' 'href:"$app"';
|
|
sub_filter '\/_next' '%%ingress_entry_escaped%%\/_next';
|
|
sub_filter '/_next' '$app/_next';
|
|
sub_filter '/api/v1' '$app/api/v1';
|
|
sub_filter '/login/plex/loading' '$app/login/plex/loading';
|
|
sub_filter '/images/' '$app/images/';
|
|
sub_filter '/imageproxy/' '$app/imageproxy/';
|
|
sub_filter '/avatarproxy/' '$app/avatarproxy/';
|
|
sub_filter '/android-' '$app/android-';
|
|
sub_filter '/apple-' '$app/apple-';
|
|
sub_filter '/favicon' '$app/favicon';
|
|
sub_filter '/logo_' '$app/logo_';
|
|
sub_filter '/site.webmanifest' '$app/site.webmanifest';
|
|
}
|
|
}
|