diff --git a/birdnet-go/rootfs/etc/nginx/servers/ingress.conf b/birdnet-go/rootfs/etc/nginx/servers/ingress.conf index f216a7b25..a866852c6 100644 --- a/birdnet-go/rootfs/etc/nginx/servers/ingress.conf +++ b/birdnet-go/rootfs/etc/nginx/servers/ingress.conf @@ -8,12 +8,7 @@ location / { # Proxy pass proxy_pass http://localhost:8080; - rewrite ^%%ingress_entry%%/(.*)$ /$1 break; - - # Next three lines allow websockets - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; + #rewrite ^%%ingress_entry%%/(.*)$ /$1 break; # Correct base_url proxy_set_header Accept-Encoding ""; @@ -26,7 +21,43 @@ sub_filter action=\"/ action=\"%%ingress_entry%%/; sub_filter EventSource('/ EventSource('%%ingress_entry%%/; sub_filter fetch('/ fetch('%%ingress_entry%%/; - sub_filter "\"change\"" "\"load, change\""; + #sub_filter "\"change\"" "\"load, change\""; + + # Timeout if the real server is dead + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; + + # Proxy Connection Settings + proxy_buffers 32 4k; + proxy_connect_timeout 240; + proxy_headers_hash_bucket_size 128; + proxy_headers_hash_max_size 1024; + proxy_http_version 1.1; + proxy_read_timeout 240; + proxy_redirect http:// $scheme://; + proxy_send_timeout 240; + + # Proxy Cache and Cookie Settings + proxy_cache_bypass $cookie_session; + #proxy_cookie_path / "/; Secure"; # enable at your own risk, may break certain apps + proxy_no_cache $cookie_session; + + # Proxy Header Settings + proxy_set_header Connection $connection_upgrade; + proxy_set_header Early-Data $ssl_early_data; + proxy_set_header Host $host; + proxy_set_header Proxy ""; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Method $request_method; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Ssl on; + proxy_set_header X-Forwarded-Uri $request_uri; + proxy_set_header X-Original-Method $request_method; + proxy_set_header X-Original-URL $scheme://$http_host$request_uri; + proxy_set_header X-Real-IP $remote_addr; } }