首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序重新启动后Nginx奇怪的上游地址

应用程序重新启动后Nginx奇怪的上游地址
EN

Server Fault用户
提问于 2023-05-29 17:41:05
回答 2查看 29关注 0票数 0

我有一个应用程序运行在一个具有暴露端口8082的容器中。还有一个nginx配置,其中一部分如下所示。在正常情况下,我在访问日志中看到upstream: 127.0.0.1:8082,这是正确的。但是,当我停止应用程序容器并再次启动它时,我在日志中看到to: localhost大约5-6秒,这将导致站点上出现502错误。此时,应用程序已经在端口8082上运行。这一切为什么要发生?

代码语言:javascript
运行
复制
server {
    server_name acme.com;

    access_log /var/log/nginx/acme.log upstreamlog;

    location / {
       proxy_pass http://localhost:8082;
       proxy_next_upstream error timeout http_502;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Upgrade websocket;
       proxy_set_header Connection Upgrade;
    }


    listen 443 ssl; # managed by Certbot
    ... some other Certbot lines ...
}
代码语言:javascript
运行
复制
> sudo nginx -T | grep acme.com
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    server_name acme.com;
EN

回答 2

Server Fault用户

发布于 2023-05-29 18:08:06

现在,localhost指的是IPv4 127.0.0.1和IPv6 ::1。当NGINX将流量转发到上游时,它会使用您给定的主机名,这将产生IPv4和IPv6,而我猜您的上游仅为IPv4。

票数 1
EN

Server Fault用户

发布于 2023-05-29 18:02:50

我似乎通过用proxy_pass http://localhost:8082;替换proxy_pass http://127.0.0.1:8082;来解决这个问题。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1132170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档