想问问大家一个经过代理的请求的抓包问题

2022-01-04 21:00:42 +08:00
 zhoudaiyu

网络拓扑非常简单,如下

    请求从 Client 通过访问代理服务器 ProxyServerNginx 访问百度,相当于客户端请求了代理服务器,代理服务器再新建一个与 Baidu 的 HTTP 请求,这样就导致了没法跟踪到是哪个 Client 访问代理服务器的连接导致了 NGINX 访问 Baidu (从 WireShark 看不出来)。请问这种问题如何解决?
808 次点击
所在节点    问与答
8 条回复
rapiz
2022-01-04 21:02:38 +08:00
你是不是想找 x-forwarded-for ?
zhoudaiyu
2022-01-04 21:13:07 +08:00
@rapiz #1 忘记说了,最好是纯 TCP 代理的也能找到,X-Forward-For 是不是还得靠 Nginx 配置请求头
Tianao
2022-01-04 21:13:17 +08:00
要看 ProxyServerNginx 是否受控啦,如果是做 LB/ADC 的话,Nginx 可以开 log 啦插楼上说的 XFF 啦。
zhoudaiyu
2022-01-04 21:27:56 +08:00
@Tianao 可控,root 都有,但是针对纯 TCP 请求有办法吗
Tianao
2022-01-04 21:53:12 +08:00
@zhoudaiyu #4 那就是 LB/ADC 喽,最终目标是解决什么问题,常态化 audit 日志还是临时排错 /调试?
lovelylain
2022-01-04 21:59:51 +08:00
@zhoudaiyu 如果后端服务支持 proxy protocol ,可以,例如 nginx 。如果后端服务既不支持 xff 也不支持 pp ,只认 tcp 协议报文取到的 ip ,巧妇难为无米之炊。
zhoudaiyu
2022-01-04 22:52:41 +08:00
@Tianao 用于 debug
zhoudaiyu
2022-01-04 22:57:55 +08:00
@jobmailcn 哦哦!我们的 nginx 是支持 Proxy Protocal 的,但是没有开,我去研究研究,这是个好东西,谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/826194

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX