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

网闸内到外访问https

1天前提问
  • 0关注
  • 0收藏,65浏览
粉丝:0人 关注:0人

问题描述:

 

 

网闸内到外访问https,使用通道模式,返回404。用外端机同网段IP地址,可以正常访问;内端机访问,结果返回404。抓包看,内端机收到报文,外端机发出报文。

使用的是TCP,不是https

内端机监听地址,外端机连接域名

 

组网及组网描述:

 

 

网闸内到外访问https,使用通道模式,返回404。用外端机同网段IP地址,可以正常访问;内端机访问,结果返回404。抓包看,内端机收到报文,外端机发出报文。

使用的是TCP,不是https

内端机监听地址,外端机连接域名

3 个回答
粉丝:16人 关注:1人

根据你描述的现象——内端机访问返回 404,但外端机同网段 IP 直连正常,且你使用的是 TCP 通道模式,这几乎可以确定是 HTTP 协议层面的“主机头(Host Header)”不匹配 导致的问题。
虽然你提到使用的是 TCP 通道,但 404 错误是 HTTP 协议特有的状态码,这意味着数据已经透传成功,但服务器拒绝了你的请求内容。


 核心原因分析:Host 头与域名不匹配

现象解释

  • 外端机直连正常:当你用外端机同网段 IP 访问时,浏览器或客户端发送的 HTTP 请求头中,Host 字段通常是目标 IP 地址,或者是你配置的域名(如果解析正确)。服务器接收到后,发现 Host 字段与它配置的虚拟主机匹配,于是正常返回网页。
  • 内端机访问报 404
    • 通道机制:H3C 网闸的 TCP 通道是透明传输的(类似管道)。它只负责把内端机发来的数据包原封不动地搬运到外端机,不会修改数据包内部的 HTTP 内容
    • 请求头问题:当你从内端机访问时,你的浏览器或客户端发起的请求中,Host 字段可能填写的是内端机的监听 IP(例如 192.168.x.x),或者是空的。
    • 服务器逻辑:外网服务器(通常是 Nginx、Apache 或 IIS)收到请求后,查看 Host 字段。因为它不认识这个内网 IP,或者该服务器配置了“默认站点”且默认站点被设置为返回 404,所以服务器直接返回了 404 错误。

为什么抓包看起来没问题?

  • 你提到“内端机收到报文,外端机发出报文”,这说明网络层(TCP 三次握手)和传输层是完全通畅的。网闸成功把 TCP 包透传过去了,服务器也回了包。问题出在应用层(HTTP)的内容被服务器拒绝了。


客户端强制指定 Host(最快验证)

既然网闸不修改内容,我们需要让内端机发出的请求“伪装”成外端机的请求。
  • 浏览器访问
    不要直接输 IP,尝试在浏览器地址栏输入 http://你的域名:端口(前提是你内网 DNS 能解析这个域名到网闸内端 IP)。
    或者,修改内端机电脑的 hosts 文件,将外网域名强制指向网闸内端监听 IP
    • 例如:192.168.100.254 ***.***
    • 这样浏览器发出的 Host 头就是域名,服务器就能识别了。

暂无评论

粉丝:8人 关注:9人

排查步骤&修复方案
1. 校验外端域名解析正确性
在外端网闸CLI执行nslookup 目标域名,对比外段直连正常访问时的目标IP,若解析IP不符,在外端配置正确的公网DNS服务器,或直接配置静态域名IP映射,避免解析到失效IP导致服务器返回404。
2. 校验TCP通道配置
确认通道模式选择的是纯TCP透传模式,不要误选HTTP/HTTPS代理模式;检查内端监听端口、外段映射的目的443端口配置匹配,关闭通道下所有HTTP头改写、七层内容过滤的冗余规则。
3. 优化TCP参数
网闸全局下执行命令firewall tcp-mss 1400,避免HTTPS大报文分片导致服务器识别请求异常返回404。
4. 外段出口镜像抓包
确认网闸转发到目标服务器的HTTPS请求中SNI、Host字段和外段直连正常访问的请求完全一致,无字段篡改即可恢复正常访问。

暂无评论

粉丝:10人 关注:2人

网闸 内到外 通道模式 TCP 映射 HTTPS 返回 404 根因 + 解决

先把你现象总结一遍,完全对上典型故障:
  1. 网闸通道模式、TCP 代理(不是 HTTPS 解密模式)
  2. 外端同网段直接访问目标域名 / IP 正常
  3. 内网通过网闸映射访问 报 404
  4. 抓包:内网有收发包、外网也有转发报文,链路通但业务 404
  5. 配置:内端监听 IP,外端填域名

一、直接根因(100% 就是这个)

网闸TCP 通道模式只做四层端口转发不处理域名 Host 头部
  • 外网真实业务是基于域名虚拟主机(一台服务器多个网站,靠 HTTPs 的 Host 请求头 区分站点)
  • 内网访问时,浏览器发的 Host 是 网闸内端映射 IP
  • 到了外网,网闸四层转发不替换 Host 头,源 Host 还是内网 IP
  • 外网服务器收到:请求 IP 是对的,但Host 头不对 → 直接返回 404 Not Found
你外端机同网段直接访问正常,是因为直接用域名访问,Host 头是正确域名;
走网闸四层 TCP 转发,Host 头没变,就 404。

二、为什么你用 TCP 模式而不用 HTTPS 模式也会出这问题

HTTPS 是加密报文,四层 TCP 透传只能转发字节流,没法修改内部加密的 Host 域名头;
网闸普通 TCP 通道 不能改写 SSL 里的 SNI/Host,所以目标虚拟主机识别不到站点,必 404。

三、三种解决办法(按推荐优先级)

方案 1:网闸改用【应用层 HTTPS 代理模式】(最优)

不用 TCP 通道,改用:
  • 网闸配置 HTTPS 应用代理
  • 配置真实域名、导入证书
  • 网闸终结 SSL、重新发起访问,自动替换 SNI 和 Host 头
    完美解决虚拟主机 404 问题,业务最稳定。

方案 2:外网改成用独立 IP绑定站点(不依赖 Host 头)

让目标 HTTPS 站点独占一个公网 IP,不做多域名虚拟主机:
  • 直接 IP 访问就能打开,不需要 Host 头区分
  • 网闸 TCP 四层转发就不会 404

方案 3:内网客户端强制改 Hosts(临时应急)

内网电脑 hosts 绑定:
网闸内端IP 真实域名
让浏览器请求时自带正确域名 Host 头,走网闸转发过去就能正常识别。
缺点:每台终端都要改,不适合大规模。

四、你当前配置错误关键点

  1. TCP 通道模式不适合多域名虚拟主机 HTTPS 业务
  2. 外端填域名、内端监听 IP,四层转发无法修改 SNI/Host
  3. 链路通 = 四层通,应用层域名不匹配 = 404

五、快速验证是不是这个问题

在外网同网段,用IP 直接访问那个 HTTPS 站点:

  • 如果 IP 访问也 404 → 确认就是服务器靠域名 Host/SNI 区分站点
  • 完全实锤我上面说的根因

暂无评论

编辑答案

你正在编辑答案

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

分享扩散:

提出建议

    +

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

确定

亲~检测到您登陆的账号未在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. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

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

不规范转载

×

举报说明