我在AWS中通过两个EC2示例之间的简单SSH隧道设置socks代理时遇到了curl问题。
box1 $ ssh -v -D 12345 ubuntu@box2 -N
[...]
socks代理在端口12345上似乎运行正常,现在我尝试通过它:
box1 $ curl -x socks5h://localhost:12345 www.google.com
curl: (7) Failed to receive SOCKS5 connect request ack.
回到ssh-D窗口,当我运行curl命令时出现这个错误:
debug1: Connection to port 12345 forwarding to socks port 0 requested.
debug1: channel 1: new [dynamic-tcpip]
channel 1: open failed: administratively prohibited: open failed
debug1: channel 1: free: direct-tcpip: listening port 12345 for www.google.com port 80, connect from 127.0.0.1 port 36240 to 127.0.0.1 port 12345, nchannels 2
有谁能解释一下这里发生了什么吗?
1条答案
按热度按时间6jjcrrmo1#
可能是因为域地址解析为IPv6,而您的socks5代理不支持此操作。
在这种情况下,
curl --ipv4 ...
将正常工作