我有一个 NodeJS 应用程序,我使用 向其转发请求proxy_pass
。当 NodeJS 应用程序关闭时,我想显示自定义错误页面。因此,我将一个5xx.html
文件放入其中/var/www/some-folder/errors
并将错误转发给它。
现在,当我尝试http://some.address.com
在 NodeJS 服务器关闭时访问时,502
会出现错误,但 nginx 会正确返回5xx.html
页面。
现在根据nginx.conf
(见下文),我假设如果我请求http://some.address.com/errors/5xx.html
,它会通过location ^~ /errors/
指令转发到,/var/www/some-folder
然后转发到/errors/5xx.html
。但是我没有得到页面,而是5xx.html
得到了默认的 nginx404 Not Found
页面。
为什么我不能5xx.html
直接访问该页面?谢谢。
nginx.conf
server {
server_name some.address.com;
location / {
// some settings
proxy_pass http://127.0.0.1:8084/;
}
location ^~ /errors/ {
internal;
root /var/www/some-folder;
}
error_page 502 503 504 505 /errors/5xx.html;
}