我正尝试从我的终端连接到公共 GKE 集群,但连接超时。
telnet xx.xx.xx.xx 443
telnet: Unable to connect to remote host: Connection refused
真正奇怪的是,我可以从我的 Firefox 浏览器访问 IP。
我使用的是公司 cntlm 代理,但我不明白为什么它在浏览器上可以工作,但在终端上却不行。我的浏览器是 vanilla 的,不受公司管理。
我的环境看起来很好:
$ env | grep -i prox
https_proxy=http://127.0.0.1:3128
http_proxy=http://127.0.0.1:3128
rsync_proxy=http://127.0.0.1:3128
no_proxy=localhost,127.0.0.1,localaddress,.localdomain.com,alexander-vmware,*collaboration.com,localhost,127.0.0.1
ftp_proxy=http://127.0.0.1:3128
我的火狐设置:
答案1
我使用了企业 cntlm 代理,但我不明白为什么它在浏览器上可以工作,但在终端上却不行。
这些代理主要由 HTTP 客户端使用。(它不是自动的;每个使用代理的程序都必须单独支持它们。)Telnet 是不是HTTP 客户端,因此它不知道应该使用代理;很少有非 HTTP 工具内置代理支持。
你需要告诉它连接给代理,然后手动发出代理CONNECT
命令:
$ telnet 127.0.0.1 3128 ↵
CONNECT xx.xx.xx.xx:443 HTTP/1.0 ↵
↵
...或者使用proxytunel
工具来处理这个问题。
$ proxytunnel -p 127.0.0.1:3128 -d xx.xx.xx.xx:443
-N
(如果您使用或选项,proxytunnel 甚至可以直接通过 NTLM 与真实代理对话--ntlm
。它不支持 Kerberos,但 cntlm 也不支持。)