nginx 负载均衡查看转发到哪个server上

2023-03-01 0 55

配置日志格式如下

log_format my

‘$remote_addr [$time_local] “$request” $status $body_bytes_sent “$http_referer” “$http_user_agent” $upstream_addr‘ ;

nginx 负载均衡查看转发到哪个server上

即可查看分发到哪个服务器上了

nginx 负载均衡查看转发到哪个server上


220.178.82.149 [01/Mar/2023:18:25:01 +0800] "GET /file/17308 HTTP/2.0" 200 809718 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232
220.178.82.149 [01/Mar/2023:18:25:01 +0800] "GET /file/17300 HTTP/2.0" 200 746063 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232
220.178.82.149 [01/Mar/2023:18:25:01 +0800] "GET /file/17302 HTTP/2.0" 200 669418 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 47.243.111.94:8888
220.178.82.149 [01/Mar/2023:18:25:03 +0800] "GET /file/17309 HTTP/2.0" 200 830448 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 47.243.111.94:8888
220.178.82.149 [01/Mar/2023:18:25:04 +0800] "GET /file/17311 HTTP/2.0" 200 668877 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232
44.236.207.248 [01/Mar/2023:18:25:05 +0800] "GET /file/17073 HTTP/2.0" 200 77726 "https://www.wusong97.top/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36" –
220.178.82.149 [01/Mar/2023:18:25:05 +0800] "GET /file/17305 HTTP/2.0" 200 895924 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 47.243.111.94:8888
183.203.160.78 [01/Mar/2023:18:25:05 +0800] "GET /file/16637 HTTP/2.0" 200 21395 "http://v.vjiangyin.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.1.301" –
220.178.82.149 [01/Mar/2023:18:25:06 +0800] "GET /file/17306 HTTP/2.0" 200 713156 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232
220.178.82.149 [01/Mar/2023:18:25:07 +0800] "GET /file/17303 HTTP/2.0" 200 771757 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232
220.178.82.149 [01/Mar/2023:18:25:07 +0800] "GET /file/17301 HTTP/2.0" 200 724316 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" –

 

发现只有$http_referer等于自己的时候,才会打印ip信息


https://blog.csdn.net/qq_35393472/article/details/128241885

https://blog.csdn.net/qq_25854057/article/details/116240267

nginx的超时问题可以参考上面博客

ps:之前服务器阻塞,导致网站一直handle,是因为配置的超时时间过长导致的

nginx 负载均衡查看转发到哪个server上


后端服务繁忙,读取超时,返回504.,并没有路由下一个节点,是因为配置了ip_hash;

nginx 负载均衡查看转发到哪个server上

220.178.82.149 [01/Mar/2023:20:28:17 +0800] "POST /imgbed/file/mylist HTTP/2.0" 504 562 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232 1.007.

删除掉ip_hash以后,开始随机正常,超时了。

nginx 负载均衡查看转发到哪个server上,后台的日志如下:

220.178.82.149 [01/Mar/2023:20:36:41 +0800] "POST /imgbed/file/mylist HTTP/2.0" 504 562 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232 0.010

220.178.82.149 [01/Mar/2023:20:37:34 +0800] "POST /imgbed/file/mylist HTTP/2.0" 200 6890 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 47.243.111.94:8888 0.034

经过测试,发现:

get请求的:

将会出现如下日志。

220.178.82.149 [01/Mar/2023:20:51:05 +0800] "GET /file/16859 HTTP/2.0" 200 2279364 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232, 47.243.111.94:8888 0.006, 0.034

只有get请求的才可以重新路由,有7s是读取超时的时间。

nginx 负载均衡查看转发到哪个server上

查了资料

220.178.82.149 [01/Mar/2023:22:21:48 +0800] "POST /imgbed/file/mylist HTTP/2.0" 200 4708 "https://imgbed.link/myfile.html" 8.133.182.37:8232, 47.243.111.94:8888 -, 0.034

发现如下:

当请求类型是POST时,Nginx默认不会失败重试。如果想让POST请求也会失败重试,可以继续向下阅读。

non_idempotent
在Nginx文档中可以看到proxy_next_upstream有一个选项non_idempotent:

normally, requests with a non-idempotent method (POST, LOCK, PATCH) are not passed to the next server if a request has been sent to an upstream server (1.9.13); enabling this option explicitly allows retrying such requests;

通常情况下,如果请求使用非等幂方法(POST、LOCK、PATCH),请求失败后不会再到其他服务器进行重试。加上non_idempotent选项后,即使是非幂等请求类型(例如POST请求),发生错误后也会重试。

如果想让POST请求也会失败重试,需要配置non_idempotent:upstream nginxretry {
server 127.0.0.1:9030 max_fails=0;
server 127.0.0.1:9031 max_fails=0;
}
server {
listen 9039;
location / {
proxy_pass http://nginxretry;
proxy_next_upstream error timeout http_500 non_idempotent;
}
}
重启Nginx后再次使用POST请求访问 http://localhost:9039/ ,再分别查看9030和9031两个端口号对应的服务日志,可以看到两个服务都收到请求,也就是POST请求也会重试了。不过实际上在生产环境中,不建议加上non_idempotent选项,
————————————————
版权声明:本文为CSDN博主「一一空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/philip502/article/details/121556243


220.178.82.149 [01/Mar/2023:21:31:36 +0800] "POST /imgbed/file/mylist HTTP/2.0" 504 562 "https://imgbed.link/myfile.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" 8.133.182.37:8232 0.008

本站所有资源均来自于互联网用户收集上传,仅供个人交流学习使用,版权属原著所有

自由社 文章 nginx 负载均衡查看转发到哪个server上 https://www.freeman.work/1588.html

nginx 负载均衡查看转发到哪个server上
上一篇: chatGPT账号
nginx 负载均衡查看转发到哪个server上
下一篇: mysql数据库恢复
常见问题

相关文章

发表评论
暂无评论