回答
收藏
分享
举报
nginx在后端服务器直接返回504时,还会做重试吗
提问于2021-01-31 22:29

浏览 4.1k

文章标签

假如我  proxy_read_timeout设置为10s,后端服务器有4个,按照默认的配置,用户请求到后端服务器1,假如1在10s内没有返回结果,nginx会认为超时再尝试2,运气不好的话会尝试所有4台机器,都超时则返回504,如果有一台成功则返回200。

我现在的疑问是,如果后端服务器1不是长达10s不返回,而是立即返回了一个504,那么nginx是会认为这台服务器超时了,和前面一样再做重试,还是会认为已经得到了确定的结果,直接把这个504返回给客户端呢?

已修改于2023-03-16 09:33



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

按点赞数排序

按时间排序

这要看你在proxy_next_upstream指令中,是否添加了http_504选项

赞同

0

回复举报

回答于2021-02-02 15:55



回复陶辉
回复
提问者
wangxr1985
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

最简单的办法,你可以把include文件的后缀名,比如a.conf(我猜你是用.conf结尾的)改为a.nginx,include语句也相应修改下,就可以了。

你试试看。

当然,直接修改nginx.conf中vim的探测规则也可以,这稍微有点复杂。

点赞 0
浏览 4.3k

中文名造成的。安装ngx_http_addition_filter_module 模块。使用add_after_body,可以自定义显示格式。

点赞 0
浏览 3.9k

请试试dmesg查看内核日志信息

点赞 0
浏览 3.6k