3proxy保姆级教程:WIN连接远端HTTPS代理
业务需求
在企业办公、跨境研发和数据采集等场景中,Windows 电脑经常需要配置代理来访问远端网络。常见的 HTTP 或 SOCKS 代理足以解决大部分需求,但在一些场景下,我们必须依赖 远端 HTTPS 代理:
- 安全性:代理通信必须加密,防止敏感流量被中间人窃取;
- 兼容性:浏览器、curl、编程语言 SDK 普遍支持
https://
代理; - 稳定性:相比某些“客户端直连远端”,通过本地代理中转更稳,能配合访问控制和日志分析。
于是我们的需求是:在 Windows 本地 启动一个轻量的 3proxy 进程,把所有应用流量转发到 远端 HTTPS 代理。这样做的好处:
- 用户侧应用只需配置
127.0.0.1:3128
,无需知道远端细节; - 可以在 3proxy 里做统一认证、日志、流量限制;
- 万一远端不可用,本地代理能第一时间提示错误。
2.技术选型
在 Windows 平台上,要实现“本地转发到远端 HTTPS 代理”,常见的选择有:
2.1直接在应用里配置远端 HTTPS 代理
- 优点:省事,不需要额外软件。
- 缺点:
- 每个应用要单独配置;
- 缺少统一日志和访问控制;
- 不便于后续扩展(如要换上游代理,得逐个改)。
2.2本地部署 3proxy
- 优点:
- 开源、极轻量(几百 KB 二进制);
- 配置灵活,支持 HTTP、SOCKS、parent 代理级联;
- 日志、ACL、用户认证一应俱全;
- 可作为 Windows 服务运行,稳定持久。
- 缺点:
- 需要手工写配置文件;
- 对新手不如图形化软件直观。
最终选择:(3proxy 本地 + 远端 HTTPS parent),它既能满足当前需求,又为未来扩展(认证、分流、日志)留下空间。
3. 落地实施
3.1 stunnel配置
- C:\stunnel\stunnel.conf。
[remote-https-proxy]
client = yes
accept = 127.0.0.1:8443
connect = 远端地址:4443;如果远端是正规 CA 证书,建议开启验证
verifyChain = yes
checkHost = 远端地址
;CAfile = C:\stunnel\ca-bundle.crt
;如果远端是自签证书,测试时可以关闭验证
;verify = 0
- 启动 stunnel。
"C:\Program Files (x86)\stunnel\bin\stunnel.exe" C:\stunnel\stunnel.conf
此时,本地 8443 端口就是一个“转发到远端 HTTPS 代理”的明文入口,3proxy链接本地 8443端口即可。
3.2源码编译
-
- 参照文章 《https://365.kdocs.cn/l/culZmpquGpNY》
3.3准备配置文件
- 新建
C:\3proxy\3proxy.cfg
,写入:
log C:\3proxy\3proxy.log D
logformat "L%Y-%m-%d %H:%M:%S %N.%p %E %C:%c -> %R:%r %O %I %h %T"
auth none
flush
allow * * * *
parent 1000 http 127.0.0.1 <stunnel端口 8443> <远端用户名> <远端密码> 1
deny * * * *
internal 127.0.0.1
proxy -p3128 -n
说明:
parent
→ 把所有请求转发到本地stunnel,stunnel负责给http代理加上TLS证书。proxy -p3128 -n
→ 在本机监听 HTTP 代理端口 3128,-n
禁用本地 DNS,避免误判。log
→ 把详细日志写入C:\3proxy\3proxy.log
,便于排错。
3.4 启动 3proxy
cd C:\3proxy\bin64
3proxy.exe ..\3proxy.cfg
- 如果一切正常,3proxy 会在后台监听
127.0.0.1:3128
。
3.4 配置客户端应用
- 浏览器 → 设置代理服务器:HTTP 代理
127.0.0.1:3128
。 - curl 测试
curl -v --proxy http://127.0.0.1:3128 https://ipinfo.io/ip
- 如果输出是远端代理的出口 IP,说明转发成功。
3.5注册为 Windows 服务
- 为了让 3proxy 随系统启动,可以执行:
3proxy.exe --install C:\3proxy\3proxy.cfg
- 然后在 服务管理器 里找到
3proxy Service
启动即可。
四、复盘总结
成果
- 在 Windows 本地成功运行 3proxy,把所有流量转发到远端 HTTPS 代理;
- 应用层统一使用
127.0.0.1:3128
,不必关心远端代理的地址和认证; - 日志实时记录请求和错误,排障效率高。
优势
- 稳定:作为服务运行,长期挂后台不掉线;
- 性能:3proxy 占用内存极小(几十 MB 就能支撑上千连接);
- 灵活:可轻松切换远端代理、添加用户认证、实现 ACL。
未来优化方向
- 服务化:完善服务安装脚本,确保开机自启、异常自动重启;
- 安全性:通过防火墙策略只允许 3proxy 出站到指定远端 IP/端口;
- 日志集中化:将日志导入 ELK 或 Loki,统一分析;
- 多 parent 级联:配置多个远端 HTTPS 代理,根据域名/端口分流。