【发布时间】:2015-08-12 11:52:32
【问题描述】:
我有以下 nginx 配置:
server {
listen 80;
server_name default;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080/;
}
}
当http://127.0.0.1:8080/ 的内部服务没有响应时,nginx 返回一个502 Bad Gatway 错误。
我的问题:如何配置 nginx 以返回静态 html 文件,例如/var/www/error.html,什么时候出现这样的错误?
我尝试了什么
提示from here我试过这个:
server {
listen 80;
server_name default;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080/;
}
error_page 404 502 /error.html;
location = /error.html {
internal;
root /var/www;
}
}
如果服务(在端口 8080 上)关闭,它工作正常,但是当服务启动并且我尝试访问 url /error.html nginx 匹配最后一个位置(返回给我静态文件)并且我想避免它。
【问题讨论】:
-
为什么要访问
/error.html? -
@AlexeyTen 在我的服务器上,我在
/var/www/error.html上有我的错误页面,我想在出现 502 错误时提供它。我不想访问/error.html,这只是一次尝试。我可以使用哪些替代品? -
@AlexeyTen 我不想在我的服务启动时暴露错误页面。
-
除非你把这个链接放在某个地方,否则没人会去你的
host/error.html。只是不要这样做,一切都会好起来的 -
@AlexeyTen :D 是的,这是一个很好的解决方法,但它不是最好的解决方案。 :(
标签: nginx configuration system