I my case nginx listens to port
80 inside a docker container but it's mapped to port
8080 (or any random port) outside the container. There is no reverse proxy in-between that can add proper headers for port and also don't want to hardcode it in the nginx configuration.
Example of wrong redirect:
http://localhost:8080/directory -> http://localhost/directory/
But didn't work. The only thing that worked well was:
Manual entry for
If disabled, redirects issued by nginx will be relative.
I find this to be more flexible and doesn't require you to have the server name and port hardcoded anywhere.
If you are worried about redirects with relative URLs check this comment.