diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2025-08-10 13:05:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-10 13:05:40 +0200 |
| commit | 6cccb46f2b2839daee13c5d12e86a7987a22e6cd (patch) | |
| tree | aac48f93c25228f64997460443ec7b05f7541bc0 /utils | |
| parent | a0dd416e8a4ff6365df042474c34ace4243a1467 (diff) | |
[fix] replace X-Scheme by X-Forwarded-Proto header (#5107)
The HTTP X-Forwarded-Proto (XFP) request header is a *de-facto* standard header
for identifying the protocol (HTTP or HTTPS) that a client used to connect to a
proxy or load balancer.[1]
The ``X-Scheme`` header was added 10 years ago, why ``X-Scheme`` was used back
then and not ``X-Forwarded-Proto``, nobody knows today / possibly because
``X-Forwarded-Proto`` wasn't a *de-facto* standard back then.
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Proto
[2] https://github.com/searx/searx/commit/6ef7c3276
Diffstat (limited to 'utils')
4 files changed, 8 insertions, 8 deletions
diff --git a/utils/templates/etc/httpd/sites-available/searxng.conf b/utils/templates/etc/httpd/sites-available/searxng.conf index 004066200..46c2c1dd1 100644 --- a/utils/templates/etc/httpd/sites-available/searxng.conf +++ b/utils/templates/etc/httpd/sites-available/searxng.conf @@ -24,10 +24,10 @@ LoadModule proxy_http_module ${APACHE_MODULES}/mod_proxy_http.so ProxyPass http://${SEARXNG_INTERNAL_HTTP} # see flaskfix.py - RequestHeader set X-Scheme %{REQUEST_SCHEME}s + RequestHeader set X-Forwarded-Proto %{REQUEST_SCHEME}s RequestHeader set X-Script-Name ${SEARXNG_URL_PATH} - # see limiter.py + # see botdetection/trusted_proxies.py RequestHeader set X-Real-IP %{REMOTE_ADDR}s RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s diff --git a/utils/templates/etc/httpd/sites-available/searxng.conf:socket b/utils/templates/etc/httpd/sites-available/searxng.conf:socket index 81bd7e4df..f63ab1a59 100644 --- a/utils/templates/etc/httpd/sites-available/searxng.conf:socket +++ b/utils/templates/etc/httpd/sites-available/searxng.conf:socket @@ -24,10 +24,10 @@ LoadModule proxy_uwsgi_module ${APACHE_MODULES}/mod_proxy_uwsgi.so ProxyPass unix:${SEARXNG_UWSGI_SOCKET}|uwsgi://uwsgi-uds-searxng/ # see flaskfix.py - RequestHeader set X-Scheme %{REQUEST_SCHEME}s + RequestHeader set X-Forwarded-Proto %{REQUEST_SCHEME}s RequestHeader set X-Script-Name ${SEARXNG_URL_PATH} - # see limiter.py + # see botdetection/trusted_proxies.py RequestHeader set X-Real-IP %{REMOTE_ADDR}s RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s diff --git a/utils/templates/etc/nginx/default.apps-available/searxng.conf b/utils/templates/etc/nginx/default.apps-available/searxng.conf index 27a8c9bcc..4484d03e3 100644 --- a/utils/templates/etc/nginx/default.apps-available/searxng.conf +++ b/utils/templates/etc/nginx/default.apps-available/searxng.conf @@ -6,10 +6,10 @@ location ${SEARXNG_URL_PATH} { proxy_set_header Connection \$http_connection; # see flaskfix.py - proxy_set_header X-Scheme \$scheme; + proxy_set_header X-Forwarded-Proto \$scheme; proxy_set_header X-Script-Name ${SEARXNG_URL_PATH}; - # see limiter.py + # see botdetection/trusted_proxies.py proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; diff --git a/utils/templates/etc/nginx/default.apps-available/searxng.conf:socket b/utils/templates/etc/nginx/default.apps-available/searxng.conf:socket index 9ff5658c4..0556bae66 100644 --- a/utils/templates/etc/nginx/default.apps-available/searxng.conf:socket +++ b/utils/templates/etc/nginx/default.apps-available/searxng.conf:socket @@ -8,10 +8,10 @@ location ${SEARXNG_URL_PATH} { uwsgi_param HTTP_CONNECTION \$http_connection; # see flaskfix.py - uwsgi_param HTTP_X_SCHEME \$scheme; + uwsgi_param HTTP_X_FORWARDED_PROTO \$scheme; uwsgi_param HTTP_X_SCRIPT_NAME ${SEARXNG_URL_PATH}; - # see limiter.py + # see botdetection/trusted_proxies.py uwsgi_param HTTP_X_REAL_IP \$remote_addr; uwsgi_param HTTP_X_FORWARDED_FOR \$proxy_add_x_forwarded_for; } |