wdaike / ngx_upstream_jdomain

An asynchronous domain name resolve module for nginx upstream
78 stars 32 forks source link

使用jdomain后引发现请求重试问题,是否有较好的处理方式?谢谢 #23

Closed apiao closed 2 months ago

apiao commented 2 months ago

配置如下: upstream test_server { jdomain xxx.abc.com port=8080 interval=5; } server { location / { proxy_pass http:// test_server; }

发现Get请求超时后会触发请求重试,如果不使用jdomain, upstream只有一个成员的时候正常不会有重试,只能用 proxy_next_upstream off主动关闭重试

wdaike commented 2 months ago

"upstream只有一个成员的时候正常不会有重试" --- nginx对只有一个ip场景做了特殊处理。这个流程jdomain控制不了的。 你的解决办法没问题

apiao commented 2 months ago

"upstream只有一个成员的时候正常不会有重试" --- nginx对只有一个ip场景做了特殊处理。这个流程jdomain控制不了的。 你的解决办法没问题 感谢回复~ 从nginx官方文档看也是不会重试的,但实际测试确实有两个请求,虽然解决了也有点奇怪,如果不加jdomain指令就没问题