【发布时间】:2017-07-31 22:19:20
【问题描述】:
我在 ECS 服务器上运行 docker-nginx。我的 nginx 服务突然停止,因为其中一台服务器的 proxy_pass 无法访问。错误如下:
[emerg] 1#1: host not found in upstream "dev-example.io" in /etc/nginx/conf.d/default.conf:988
我的配置文件如下:
server {
listen 80;
server_name test.com;
location / {
proxy_pass http://dev-exapmle.io:5016/;
proxy_redirect off;
##proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 80 default_server;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
我的配置文件中有很多服务器,即使一台服务器宕机,我也需要运行 nginx。有什么办法可以解决吗?
任何解决此问题的建议将不胜感激。
【问题讨论】:
-
这通常有两个原因:dev-exapmle.io:5016 中的服务已关闭或未响应请求;或者你有一些 selinux 配置阻止 nginx 代理请求。我会查看为 dev-example.io 提供服务的应用程序的日志。如果您没有看到任何内容,则可能是 selinux 问题,在这种情况下,您可能想看看这个答案:stackoverflow.com/questions/27435655/…
-
@JoséAntonioHaroPeralta 感谢您的评论。是的,该服务 dev-exapmle.io:5016 已关闭。但是我的 nginx 配置文件中有许多其他服务可以工作,但是由于这个服务,nginx 停止了。有什么办法可以解决吗?
-
包含一个解析器指令(例如指向 google,8.8.8.8)。如果 Nginx 无法访问您的站点,它将解决该问题,如以下问题的答案所示:stackoverflow.com/questions/32845674/…
标签: nginx docker amazon-ecs