经Azure Firewall访问本地应用报Connection reset by peer错误原因排查
引发该错误的可能原因如下:
- Azure Firewall TCP空闲超时配置不匹配:Azure Firewall默认TCP空闲超时为4分钟,若访问的目标应用使用长连接(如持久化RPC、数据库连接、消息队列连接等),且业务侧TCP保活报文发送间隔大于4分钟,防火墙会在无流量的空闲时间到达阈值后主动发送RST包中断会话,触发
Connection reset by peer错误。telnet为短连接测试,建连后立即断开不会触发超时机制,因此表现正常。 - MSS钳制(MSS Clamping)配置缺失/错误:Express Route链路默认MTU为1400字节,流量经过Azure Firewall时会额外增加封装开销,若未在防火墙上正确配置MSS钳制,超过链路负载的大包会被丢弃,多次丢包后对端应用会主动发送RST中断连接。telnet测试仅传输少量控制报文,报文长度远小于MTU阈值,因此不会触发该问题。
- Azure Firewall IPS/IDS规则误拦截:若开启了Azure Firewall的入侵检测/防御功能,部分自定义业务报文的特征可能被特征库误判定为攻击流量,防火墙会直接发送RST重置会话。telnet仅完成TCP三次握手无后续业务报文传输,不会触发特征匹配规则,因此可正常连通。
- 非对称路由导致会话状态不匹配:Azure Firewall为有状态防火墙,要求同一会话的往返流量均经过同一防火墙实例。若流量路由配置存在问题,去程流量经防火墙发往本地,回程流量直接从本地经Edge路由器返回客户端,防火墙无法匹配到会话回程报文,会在超时后主动发送RST中断会话。
- 特定业务端口会话老化规则异常:若针对目标应用的服务端口单独配置了过短的会话老化时间,即使全局超时配置正常,该端口对应的会话也会被提前清理,后续业务报文到达防火墙时无匹配会话表项,防火墙回RST报文触发报错。
内容的提问来源于stack exchange,提问作者pers
相关产品推荐
相关产品推荐

