我有一个 Ubuntu 20.4 LTS,运行 Squid 作为代理服务器。
我有一个场景,我正在使用 plink 将流量从另一台服务器转发到 Linux 服务器,命令如下:
plink.exe -L 0.0.0.0:PORT:localhost:SQUID_PORT [email protected] -pw "pass" -N -v
输出:
Local port 0.0.0.0:PORT forwarding to localhost:SQUID_PORT
为了测试它,我使用了以下 python 代码(运行上述命令后):
import requests
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"}
proxies = {
'http': 'http://Proxy_IP:PORT',
'https': 'http://Proxy_IP:PORT',
}
proxies2 = {
'http': 'http://localhost:1230',
'https': 'http://localhost:1230',
}
res = requests.get(url='https://api.ipify.org/?format=json', proxies=proxies)
print(res.text)
我收到以下错误:
Forwarded connection refused by the server: Connect failed [Connection timed out]
当我使用代理 IP 而不是 localhost(python 代码中的 proxies2)时,不会发生此问题
这个问题可能是什么原因造成的?重要的是,同样的场景在不同的代理服务器上运行,所以我确信它与 Linux 服务器配置有关。
答案1
我运行了以下命令并且问题已解决。
sudo iptables -P INPUT ACCEPT