Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host should be $proxy_host, not $host #3247

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

vbraun
Copy link

@vbraun vbraun commented Oct 8, 2023

  • $host is the Host sent by the user's browser. This is the correct setting if the service has built-in support for being proxied.

  • $proxy_host is the Host as if the browser would run on the proxy. This is the correct setting if the service does not have built-in support for reverse proxies. It is also the nginx default.

  • In nginx, you cannot unset the Host header. Configuring headers multiple times just sends multiple values with the http request. So there is no way to "fix" the Host by adding a custom header if it is already set.

For these reasons, Host should not be set (and default to $proxy_host). In the unlikely case that your service needs something else you can then just set a custom Host header in the GUI.

Fixes #2675

* $host is the Host sent by the user's browser. This is the correct
  setting if the service has built-in support for being proxied.

* $proxy_host is the Host as if the browser would run on the
  proxy. This is the correct setting if the service does not have
  built-in support for reverse proxies. It is also the nginx default.

* In nginx, you cannot unset the Host header. Configuring headers
  multiple times just sends multiple values with the http request. So
  there is no way to "fix" the Host by adding a custom header if it is
  already set.

For these reasons, Host should not be set (and default to
$proxy_host). In the unlikely case that your service needs something
else you can then just set the header in the GUI.

Fixes NginxProxyManager#2675
@nginxproxymanagerci
Copy link

Docker Image for build 1 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-3247

Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

@jc21 jc21 added the requires-verification Waiting for one or more people to confirm the fix label Nov 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
requires-verification Waiting for one or more people to confirm the fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot proxy to sites that require a correct Host header
2 participants