mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-05-14 09:34:36 +00:00
🔼 added $resolved_proto map
to ensure that the X-Forwarded-Proto and X-Forwarded-Scheme headers reflect the most accurate protocol. The resolved_proto variable prioritizes the X-Forwarded-Proto header (set by sources like Cloudflare or AWS) and falls back to $scheme when unavailable, then this value is used to set Scheme and Proto instead of $scheme
This commit is contained in:
parent
ec12d8f9bf
commit
993ce372b2
@ -2,8 +2,8 @@
|
|||||||
{{ advanced_config }}
|
{{ advanced_config }}
|
||||||
|
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Forwarded-Scheme $scheme;
|
proxy_set_header X-Forwarded-Scheme $resolved_proto;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $resolved_proto;
|
||||||
proxy_set_header X-Forwarded-For $remote_addr;
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
|
||||||
|
7
backend/templates/_resolved_proto_map.conf
Normal file
7
backend/templates/_resolved_proto_map.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Resolve the effective protocol: use X-Forwarded-Proto if set
|
||||||
|
# (e.g., from proxies like Cloudflare or AWS)
|
||||||
|
# otherwise fall back to the current scheme.
|
||||||
|
map $http_x_forwarded_proto $resolved_proto {
|
||||||
|
default $scheme;
|
||||||
|
~.+ $http_x_forwarded_proto;
|
||||||
|
}
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
{% include "_hsts_map.conf" %}
|
{% include "_hsts_map.conf" %}
|
||||||
|
|
||||||
|
{% include "_resolved_proto_map.conf" %}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
set $forward_scheme {{ forward_scheme }};
|
set $forward_scheme {{ forward_scheme }};
|
||||||
set $server "{{ forward_host }}";
|
set $server "{{ forward_host }}";
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
add_header X-Served-By $host;
|
add_header X-Served-By $host;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Forwarded-Scheme $scheme;
|
proxy_set_header X-Forwarded-Scheme $resolved_proto;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $resolved_proto;
|
||||||
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-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_pass $forward_scheme://$server:$port$request_uri;
|
proxy_pass $forward_scheme://$server:$port$request_uri;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user