回答
收藏
分享
举报
upstream_addr字段记录了两个后端服务器的地址?这个时候nginx代理服务器返回的是500
提问于2020-07-06 15:47

浏览 2.8k

nginx日志,upstream_addr字段有时记录了两个后端服务器的地址?这个时候nginx代理服务器返回的是500。这个是什么情况?请老师解释一下。

已修改于2023-03-17 02:10



写下您的回答
发表回答
全部回答(2)

按点赞数排序

按时间排序

upstream中的2个server IP,当其中一个server异常后的重试。

赞同

3

回复举报

回答于2020-07-09 21:20



回复Omg
回复

当有访问失败时,upstream_addr 会记录尝试访问过的地址,可能会有多个,以逗号分隔


500建议配置 error_log,打开日志文件查看具体的错误原因

赞同

1

回复举报

回答于2021-08-24 15:59



回复friparia
回复
相关问答

可以是可以,但得用NGINX的子请求机制,直接用指令是不行的,得用njs了,写JavaScript脚本,调用r.subrequest,分别请求后端,然后把数据整合一下。


可以参考NGINX官网上的njs文档,有很多示例。

点赞 0
浏览 694

rewrite_by_lua工作在rewrite阶段,只是改写uri,balancer_by_lua是在content阶段,在upstream流程里选择上游服务器,后者更灵活,可以自定义负载均衡算法,指定每个peer

点赞 0
浏览 951

这个说的应该是会话保持的问题吧,保证一个客户端始终和一个后端服务器通信,有第三方模块可以在NGINX里实现会话保持,好像也有lua库。

点赞 0
浏览 865