如何通过PuTTY实现HTTP(S)代理?当前仅支持SOCKS连接
如何通过PuTTY实现HTTP(S)代理?当前仅支持SOCKS连接
嘿,我来帮你理清楚这个问题!首先得明确一点:PuTTY原生的SSH隧道功能只支持SOCKS代理(SOCKS4/SOCKS5),没办法直接创建HTTP(S)代理。不过别担心,我们可以用一个轻量的中转工具,把PuTTY的SOCKS代理转换成HTTP(S)代理,完美解决你的需求。
下面给你一个最实用的方案:
用Privoxy中转SOCKS到HTTP(S)
Privoxy是一款免费轻量的代理工具,专门用来做代理转发和协议转换,操作起来很简单:
- 先下载安装Privoxy(直接搜索就能找到官方安装包)
- 打开Privoxy的配置文件(一般在安装目录下的
config.txt),找个空白位置添加一行转发规则:
这里的forward-socks5t / localhost:31415 .31415就是你在PuTTY的SSH Tunnel面板里设置的动态隧道端口,记得改成你自己实际用的端口号。 - 保存配置文件后,重启Privoxy服务(可以通过任务管理器找到Privoxy进程重启,或者用软件自带的重启快捷方式)
- 最后去Windows设置里,把代理地址改成
localhost:8118(这是Privoxy默认的HTTP代理端口),这样所有HTTP/HTTPS请求就会先经过Privoxy转换成SOCKS协议,再通过PuTTY的隧道发送出去。
另外补充一句:为什么PuTTY不支持直接的HTTP代理?因为SSH协议本身的动态隧道就是基于SOCKS标准实现的,PuTTY只是严格遵循了这个标准,没有额外添加HTTP代理的模块,所以中转是目前最靠谱的解决办法。
按照这个流程设置后,你之前只能走SOCKS的代理就能同时支持HTTP和HTTPS请求啦!
备注:内容来源于stack exchange,提问作者Cool guy




