• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

内网服务器要通过网闸访问外网前置机,但是前置机nginx抓不到端口下的访问日志

  • 0关注
  • 0收藏,37浏览
粉丝:0人 关注:0人

问题描述:

内网服务器要通过网闸访问外网前置机,中间经过了网闸、外网防火墙,现在网闸能看到通道连接数量,防火墙能看到网闸外端机访问前置机的会话,并且能匹配到端口号,但是前置机nginx抓不到端口下的访问日志,这是什么情况?

2 个回答
粉丝:174人 关注:11人

检查下防火墙到nginx这一段吧,抓包看看是哪的问题,在进行相应排查

暂无评论

粉丝:28人 关注:2人

内网服务器通过网闸访问外网前置机,防火墙存在会话,但 Nginx 无访问日志
现象汇总:
网闸可以看到通道连接计数;
外网防火墙上可以看到网闸外端机→前置机的 TCP 会话,端口匹配;
但是外网前置机 Nginx 没有产生访问日志,业务无响应。
核心原理:网闸不是 IP 报文透传,是连接终止‑数据摆渡‑重建新 TCP 连接。内网服务器与网闸内网侧建立一套 TCP;网闸外网侧重新发起一套全新 TCP 会话到外网防火墙、再到 Nginx 服务器。
防火墙看到的会话,只是网闸外网侧已经发起的 TCP 控制连接(三次握手完成),不代表应用层 HTTP 请求数据已经成功摆渡、投递到 Nginx 应用层。
故障分层定位(从网闸→防火墙→服务器)
第一层:网闸侧(最高概率故障点)
TCP 握手成功摆渡失败:网闸通道只完成 TCP 握手,HTTP 应用数据被拦截丢弃
网闸 TCP 代理通道完成内外两侧三次握手,所以网闸显示连接计数、防火墙生成 TCP 会话表;
但是 HTTP 报文内容校验失败(白名单、关键字、格式校验、HTTP 协议畸形、不支持 HTTP/1.1、缺少 Host 头),应用载荷被网闸丢弃,握手成功,没有把 HTTP 请求摆渡到外网侧;
结果:TCP 连接存在,没有 HTTP payload 给到 Nginx,Nginx 不会生成 access 日志(Nginx 访问日志只有收到完整 HTTP 请求才会记录,单纯 TCP 连接建立不产生日志)。
排查:
查看网闸通道日志、审计日志、丢弃日志,看是否存在应用层报文拒绝、协议校验失败;
网闸通道是否配置 HTTP 代理 / 透明 TCP;HTTP 业务优先使用网闸专用 HTTP 通道,不要通用 TCP 通道;
检查网闸通道白名单:目的 IP、目的端口、协议、应用层特征;确认没有开启严格内容检测拦截正常 HTTP 报文;
调大网闸通道的 MTU、超时时间;网闸空闲超时时间不要过小。
网闸半连接问题
内网侧客户端发送完 SYN 完成握手,过早发送 FIN 关闭连接;网闸检测到一侧关闭,直接把外网侧新建的 TCP 连接直接断开,HTTP 数据还没有摆渡出去。防火墙会话表还会短暂残留。
解决:业务侧调整 TCP 关闭逻辑,网闸通道调大会话空闲超时时间。
关键区分:
网闸 “连接数量” 计数 = TCP 握手成功的连接数,不等于应用数据摆渡成功的数量。握手成功不代表数据摆渡成功。
第二层:外网防火墙侧
防火墙已经建立会话表,说明TCP SYN/SYN‑ACK/ACK 三次握手报文双向到达,但是需要确认两点:
是否存在报文长度大报文被防火墙 IPS / 应用识别模块丢弃;小握手包放行,HTTP 请求大数据包被 IPS 拦截;
排查:防火墙开启会话统计,抓包外网防火墙出接口(朝向 Nginx 服务器方向),看是否有GET/POST的 HTTP 请求报文向外发送。
如果防火墙出接口抓包看不到 HTTP 请求 payload:数据根本没有离开防火墙,问题回溯网闸。
如果防火墙出接口能抓到完整 HTTP 请求报文,代表网闸、防火墙转发正常,问题落在 Nginx 服务器本机。
确认防火墙没有开启 TCP 代理、内容安全检测误拦截;安全策略仅放行 TCP 端口,不要附加应用过滤。
第三层:外网 Nginx 前置机服务器(防火墙出接口能抓到 HTTP 报文再排查本层)
前提:网卡抓包确认网卡收到完整 HTTP 请求,再往下排查。
Nginx 没有匹配到对应的server{}虚拟主机块;请求没有命中任何 server,不会写入对应 access_log 日志;
检查listen 端口,确认监听 0.0.0.0,不是仅监听 127.0.0.1;配置default_server兜底虚拟主机。
Linux 本机防火墙iptables/firewalld、selinux 拦截入站报文;报文到网卡,被内核丢弃,不递交给 Nginx 进程。
bash
#查看网卡是否收到报文
tcpdump -i 业务网卡 port 业务端口
#查看系统层是否丢包
netstat -s
ss‑s
Nginx 日志配置:access_log off关闭日志、日志文件权限不足、开启 buffer 缓冲未刷新。
注意:单纯 TCP 连接建立,没有完整 HTTP 请求,Nginx不会写 access.log 访问日志,只建立 TCP socket 连接不触发日志记录。
现场标准排查步骤(按顺序执行)
在外网防火墙连接 Nginx 的出接口抓包:
✅抓包能看到完整 HTTP GET/POST 请求报文 → 网闸、防火墙转发正常,问题在 Nginx 服务器本机。
❌抓包只有 TCP 握手包 (SYN/SYN‑ACK/ACK),看不到 HTTP 应用数据 → 网闸侧应用层数据摆渡失败,优先排查网闸通道配置与审计丢弃日志(本场景最高概率)。
登录网闸,查看通道审计日志、丢弃日志,看 HTTP 报文是否被协议校验 / 内容过滤丢弃;确认通道类型(HTTP 通道 / TCP 透明通道)。
HTTP 业务建议用网闸的 HTTP 专用通道,不要通用 TCP 通道,通用 TCP 通道对 HTTP 协议校验严格容易丢应用载荷。
如果防火墙抓包已经看到完整 HTTP 请求,到 Nginx 服务器本机网卡抓包,确认报文到达服务器网卡;再检查 firewalld/iptables、Nginx 虚拟主机配置、access_log 配置。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明