I was trying to make a 500 error page for a situation when server behind proxy when is off and a 404 error page for not found static pages.
I already had working proxy_pass
to localhost:8080
for messenger
but while working on adding custom error pages I had to mess something up and it stopped working. Error pages are working all well but mydomain.d/messenger/
returns 404 19
(I know it from logs) but doesn't return the custom page.
erver {
server_name mydomain.d;
# newly added
location / {
proxy_pass "http://localhost:8081/";
}
# newly added
location /webapp/planner/ {
proxy_pass "http://localhost:8082/";
}
# was working for some time
location /messenger/ {
proxy_pass "http://localhost:8080/";
}
# newly added
location /static/ {
alias /home/static/;
}
# newly added
error_page 404 /err404.html;
location = /err404.html {
root /home/server/errors/err404;
}
# newly added
error_page 500 502 503 504 /err500.html;
location = /err500.html {
root /home/server/errors/err500;
}
...
I changed only this config while making the error pages.
curl localhost:8080/messenger/xxx
gives expected output.
https://mydomain.d/messenger/xxx
redirects me to:
https://mydomain.d/xxx
with 404 error
page.
So in summary: When configuring error pages for static file access and for situations when servers behind proxy is down I accidentally broke proxy_pass
access to /messenger/
which now only returns an 404 19
error.
What is the fix?
I found an answer to my problem:
There was an unnecessary
/
at the end ofproxy_pass
address.Wrong:
Right: