真没见过这种问题,求帮助

2023-07-17 08:29:19 +08:00
 dust0522
前提:公司有两台转发服务器,一台 nginx ,一个 IIS 服务,有一个用户信息图片上传接口,已经稳定运行 2 年。
现在有一个用户上传的报文,发到哪个服务器上,哪个服务器就会断连大概 3-5 分钟左右。
报文格式就是 JSON 加 base64 ,因为图片涉及用户身份证信息没法发。
服务器端没有错误日志。
抓包的看了下,上面是正常 tcp 分片的报文,下面突然是客户端突然没应答了?但是服务端已经收不了请求了。
请求第一次响应 read ECONNRESET 然后再请求响应啥都是 connect ECONNREFUSED
整崩溃了。
[Imgur]( )
4129 次点击
所在节点    程序员
29 条回复
hopingtop
2023-07-17 13:56:06 +08:00
有没有大佬,继续讨论一下 触发防火墙的规则的问题?

是因为 base64 中的某段数据假设 '3122ABC' = '我是恶意的'
防火墙规则 base64('我是恶意的') ,然后 base64(image).Match(base64(Rule)) ?
防火墙发现是 base64 的编码,就用规则 base64 之后再去匹配?
tool2d
2023-07-17 14:13:07 +08:00
你包都抓下来了,回测一下就可以了。

你这防火墙估计有点水。
kkkbbb
2023-07-17 15:18:37 +08:00
怎么能看下是防火墙的什么规则导致触发这种情况,还有它的处理行为具体是什么怎么查看呢,我也挺好奇的
kkkbbb
2023-07-17 16:43:15 +08:00
@hopingtop 我比较好奇的是触发防火墙规则导致当前客户端无法访问能理解,但还能导致服务器断连?把其他所有正常的请求也给拒绝了?
Pythoner666666
2023-07-17 18:30:36 +08:00
有没有大佬出来解释下 这个很费解啊
documentzhangx66
2023-07-17 18:50:23 +08:00
1.楼主基础不牢。这种提问,至少需要提供网络拓扑图与系统架构图。

排查过程也很简单,先抓用户报文。nginx 报错抓不到,把 ningx 停了,改用 Client 跑 postman + Server 用 socat 监听,如果有其他用户请求干扰调试,用 iptables 筛选用户 IP 。通过这方式,试图把流量导入到 socat ,会发现 socat 也抓不到,继续考虑系统被破坏,或者用户到 Server 的链路有问题。拿一个干净系统过来 socat ,也会报错,那肯定是链路有问题。然后整个链路一环一环旁通,最后很容易定位到防火墙。

2.建议楼主认真补习一下计算机专业本科的网络原理与设计一课。 如果不喜欢学院派风格的课程方式,推荐 B 站视频教程:
https://www.bilibili.com/video/BV1th4y1d7kR
dust0522
2023-07-18 08:35:17 +08:00
@documentzhangx66 感谢,确实网络基础很差
dust0522
2023-07-18 08:37:52 +08:00
@kkkbbb 这个跟公司网络架构有关
dust0522
2023-07-18 08:39:06 +08:00
防火墙规则确实看不了,我们没权限,但确定是防火墙的问题

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

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

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

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

© 2021 V2EX