You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows下SSH SOCKS5代理隧道有效但浏览器无法使用求助

解决SSH SOCKS5隧道无法在浏览器中使用的问题

问题概述

本地网络无法访问example.com等特定站点,但myserver.xyz服务器可正常访问;通过WireGuard连接该服务器能正常访问目标站点。使用命令ssh -D 127.0.0.1:5000 user@myserver.xyz-p 200(曾尝试仅-D 5000)建立SSH SOCKS5代理后,curl --socks5 127.0.0.1:5000 ifconfig.me返回myserver.xyz的IP,证明隧道有效,但Edge、Brave、Firefox浏览器均无法通过该代理访问网络。

针对性解决步骤

  • 检查浏览器代理配置细节

    • Edge/Brave:进入设置→系统→打开电脑的代理设置,开启“使用代理服务器”,地址填127.0.0.1、端口5000,点击“高级”,确保勾选“对所有协议使用相同的代理服务器”,同时确认“不使用代理服务器的地址”列表里没有误加example.com这类需要访问的站点。
    • Firefox:进入设置→常规→网络设置→设置,选择“手动配置代理”,SOCKS主机填127.0.0.1、端口5000,勾选“SOCKS v5”和“远程DNS”(这步是关键,避免本地DNS解析失败导致无法访问)。
    • 临时禁用浏览器内所有插件(比如广告拦截、VPN类插件),排除插件干扰代理的可能。
  • 修正SSH隧道命令参数
    原命令中-p 200的位置错误(和服务器地址之间没有空格),修正为:

    ssh -D 127.0.0.1:5000 user@myserver.xyz -p 200
    

    也可以尝试绑定到0.0.0.0:5000,确保系统内所有进程都能访问代理端口(仅限本地环境使用,注意安全):

    ssh -D 0.0.0.0:5000 user@myserver.xyz -p 200
    
  • 排查系统级代理冲突

    • 打开“Internet选项”→“连接”→“局域网设置”,关闭其他可能开启的代理(比如自动配置脚本、WireGuard残留代理)后重试。
    • 执行命令netsh winhttp reset proxy重置系统WinHTTP代理,避免命令行与浏览器代理配置不一致。
  • 验证代理DNS解析能力
    浏览器默认可能用本地DNS解析域名,导致代理通了但DNS解析失败。在Firefox勾选“远程DNS”后,用curl --socks5 127.0.0.1:5000 https://example.com测试完整访问流程,确认能返回页面内容。

验证方法

完成设置后,打开浏览器访问https://ifconfig.me,若显示myserver.xyz的IP,说明代理已正常工作,再尝试访问example.com即可。

内容的提问来源于stack exchange,提问作者D. Ip

火山引擎 最新活动