You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s Ingress域名无法访问 仅NodePort方式可访问问题咨询

问题定位结论

从你给出的集群内全链路验证结果、NodePort直连正常的现象判断,Ingress、Service、工作负载配置全部正常,域名访问失败和集群侧无关,问题出在本地SOCKS5代理或Firefox配置上,按以下顺序排查即可。

排查步骤

1. 优先检查Firefox SOCKS5代理的远程DNS配置

Firefox默认使用SOCKS5代理时,会在本地完成域名解析,不会把解析请求发到代理隧道端:

  • 你的本地环境没有配置test.xxx.io的内网解析,本地DNS要么返回公网错误IP,要么直接解析失败,请求根本到不了集群Ingress节点
  • 修复方式:地址栏输入about:config进入配置页,搜索参数network.proxy.socks_remote_dns,将值修改为true,重启浏览器后再试

2. 检查代理排除规则

打开Firefox网络设置页,找到「不使用代理的地址」配置项:

  • 确认列表中没有*.xxx.io、test.xxx.io这类匹配规则
  • 临时测试可以清空排除列表,仅保留localhost、127.0.0.1这类本地回环地址,排除分流规则误拦截的可能

3. 本地Hosts绑定兜底验证

如果开启远程DNS后还是无法访问,直接修改本地电脑的hosts文件,添加一条静态解析规则:

<任意一个Ingress节点的隧道可达IP> test.xxx.io

绑定后刷新页面访问:

  • 如果能正常打开,说明你的SOCKS5代理服务端没有配置集群内网DNS转发,要么给代理服务端加对应DNS规则,要么一直保留本地hosts绑定即可
  • 如果还是打不开,继续往下排查

4. 确认请求实际走向

按F12打开Firefox开发者工具,切换到「网络」标签,重新访问域名查看请求详情:

  • 如果显示的目标IP不是你集群的Ingress节点IP,说明DNS解析还是没走代理,回到第一步重新检查配置
  • 如果目标IP正确但返回连接超时/拒绝,检查你的SOCKS5隧道是否放行了80端口TCP流量,确认隧道是全流量代理而非仅特定端口转发
快速验证方法

跳过浏览器,直接在本地命令行走SOCKS5代理测试,命令如下:

curl -x socks5h://127.0.0.1:<你的本地SOCKS5代理端口> test.xxx.io -I

注意参数socks5h的作用是强制让代理端完成DNS解析:

  • 如果这条命令返回200状态码,问题100%出在Firefox配置上,和集群、代理隧道无关
  • 如果这条命令也失败,问题出在SOCKS5隧道本身的配置,和浏览器无关

内容的提问来源于stack exchange,提问作者ladislav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:18:09