mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-06-05 07:14:08 +02:00
Refactor Nginx configuration for ingress handling
This commit is contained in:
@@ -7,40 +7,54 @@ server {
|
|||||||
listen %%interface%%:%%port%% default_server;
|
listen %%interface%%:%%port%% default_server;
|
||||||
server_name netalertx;
|
server_name netalertx;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
|
|
||||||
include /etc/nginx/includes/server_params.conf;
|
include /etc/nginx/includes/server_params.conf;
|
||||||
include /etc/nginx/includes/proxy_params.conf;
|
include /etc/nginx/includes/proxy_params.conf;
|
||||||
|
|
||||||
|
location ~ ^/php%%ingress_entry%%/(.*)$ {
|
||||||
|
rewrite ^/php%%ingress_entry%%/(.*)$ /php/$1 break;
|
||||||
|
}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:20211/;
|
proxy_pass http://127.0.0.1:20211/;
|
||||||
|
|
||||||
rewrite ^%%ingress_entry%%/?(.*)$ /$1 break;
|
rewrite ^%%ingress_entry%%/?(.*)$ /$1 break;
|
||||||
sub_filter_once off;
|
|
||||||
sub_filter_types *;
|
|
||||||
sub_filter 'href="/' 'href="%%ingress_entry%%/';
|
|
||||||
sub_filter '(?>$host)/css/' '%%ingress_entry%%/css/';
|
|
||||||
sub_filter '(?>$host)/js/' '%%ingress_entry%%/js/';
|
|
||||||
sub_filter '/img/' '%%ingress_entry%%/img/';
|
|
||||||
sub_filter '/lib/' '%%ingress_entry%%/lib/';
|
|
||||||
sub_filter '/php/' '%%ingress_entry%%/php/';
|
|
||||||
sub_filter '"/server' '"%%ingress_entry%%/server';
|
|
||||||
|
|
||||||
# Next three lines allow websockets
|
sub_filter_once off;
|
||||||
proxy_http_version 1.1;
|
sub_filter_types *;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
sub_filter '"/server' '"%%ingress_entry%%/server';
|
||||||
|
sub_filter 'href="/' 'href="%%ingress_entry%%/';
|
||||||
|
sub_filter 'src="/' 'src="%%ingress_entry%%/';
|
||||||
|
sub_filter 'action="/' 'action="%%ingress_entry%%/';
|
||||||
|
sub_filter '(?>$host)/css/' '%%ingress_entry%%/css/';
|
||||||
|
sub_filter '(?>$host)/js/' '%%ingress_entry%%/js/';
|
||||||
|
sub_filter '/img/' '%%ingress_entry%%/img/';
|
||||||
|
sub_filter '/lib/' '%%ingress_entry%%/lib/';
|
||||||
|
sub_filter '/php/' '%%ingress_entry%%/php/';
|
||||||
|
# sub_filter '"/server"' '"%%ingress_entry%%/server"';
|
||||||
|
# sub_filter "'/server'" "'%%ingress_entry%%/server'";
|
||||||
|
# sub_filter "fetch(sseUrl" "fetch(%%ingress_entry%%sseUrl";
|
||||||
|
|
||||||
|
# Websocket support
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
|
||||||
# Allow downloading fragments
|
|
||||||
proxy_set_header Range $http_range;
|
proxy_set_header Range $http_range;
|
||||||
proxy_set_header If-Range $http_if_range;
|
proxy_set_header If-Range $http_if_range;
|
||||||
|
|
||||||
# Improve ip handling
|
proxy_hide_header X-Powered-By;
|
||||||
proxy_hide_header X-Powered-By;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header Accept-Encoding "";
|
proxy_set_header Accept-Encoding "";
|
||||||
proxy_connect_timeout 30m;
|
|
||||||
proxy_send_timeout 30m;
|
proxy_connect_timeout 30m;
|
||||||
proxy_read_timeout 30m;
|
proxy_send_timeout 30m;
|
||||||
add_header X-Frame-Options "SAMEORIGIN";
|
proxy_read_timeout 30m;
|
||||||
|
|
||||||
|
add_header X-Frame-Options "SAMEORIGIN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user