配置 Bitvise Tunnelier 时候,发现出错。
提示有:
11:57:08.890 HTTP CONNECT connection from 127.0.0.1:53151 failed: Client connection closed before completion of protocol.
11:57:17.952 Server disconnected without sending a disconnect message.
11:57:17.952 Aborting HTTP CONNECT connection from 127.0.0.1:53121, sent: 22953, received: 2187.
11:57:17.952 Aborting HTTP CONNECT connection from 127.0.0.1:53146, sent: 0, received: 0.
11:57:17.952 Aborting HTTP CONNECT connection from 127.0.0.1:53147, sent: 0, received: 0.
11:57:17.952 Aborting HTTP CONNECT connection from 127.0.0.1:53151, sent: 0, received: 0.
11:57:18.072 Automatic reconnection started.
Reconnection attempt is scheduled at 11:57:20.
11:57:20.073 Starting a new SSH2 session.
11:57:20.075 Connecting to SSH2 server 69.85.93.175:22.
11:57:20.243 Connected.
11:57:20.258 Starting first key exchange.
11:57:20.406 Server version string: SSH-2.0-OpenSSH_4.3
11:57:20.920 New host key received. Algorithm: ssh-rsa, Size: 2048 bits, MD5 Fingerprint: 23:9d:60:d8:2c:2c:32:42:20:7e:38:c0:c0:83:44:6c, Bubble-Babble: xiloz-vafen-zacab-vidif-samek-rydez-zisat-vifep-netop-duceg-fexax.
11:57:20.930 First key exchange completed.
11:57:20.941 Key exchange: diffie-hellman-group14-sha1. Session encryption: aes256-ctr, MAC: hmac-sha1, compression: none.
11:57:21.093 Attempting 'password' authentication.
11:57:21.254 Authentication completed.
11:57:21.255 Initializing SOCKS / HTTP CONNECT proxy on 127.0.0.1:7070 succeeded.
11:58:05.561 Accepted HTTP CONNECT connection from 127.0.0.1:53213 to www.google.com.hk:443.
11:58:06.841 Accepted HTTP CONNECT connection from 127.0.0.1:53215 to clients4.google.com:443.
11:58:17.086 (unrecognized proxy protocol) connection from 127.0.0.1:53220 failed: Unsupported client protocol; the client may be expecting a regular HTTP proxy.
11:58:19.336 (unrecognized proxy protocol) connection from 127.0.0.1:53221 failed: Unsupported client protocol; the client may be expecting a regular HTTP proxy.
(unrecognized proxy protocol) connection from 127.0.0.1:51022 failed: Unsupported client protocol; the client may be expecting a regular HTTP proxy.”:
baidu 了一下,找到了解决办法:
在使用我配置的ssh的时候,直接就可以上网的,这是为什么?按照错误提示看,是代理协议不识别,不支持客户端的代理协议,客户端可能要求普通的http协议来连接。
出现这种错误的原因,是ssh应该被作为socks代理而不是http代理来使用,而我们一般的设置中,如果在http代理中填入了http的代理地址和端口,浏览器就会优先使用
http代理,这与ssh冲突,所以才协议识别失败。所以在IE中设置如下:
於是我們去google這個問題,發現遇到這個問題的時候好多人都是建議用Privoxy或者Polipo軟件做中轉,把tunnelier默認提供的socks代理轉換成http代理。其實大可不必,大家可以看看bitvise官方的一個技術支持的回答,地址在這裏:https://fogbugz.bitvise.com/default.asp?Tunnelier.2.8457.1
註意這句:”What you need to do is change that applications to use SOCKS instead.”
所以,我們只需要去掉瀏覽器設置中的”對所有協議使用相同的代理服務器設置”選項,然後只在Socks代理服務器中填寫即可。下面的例子是在Chrome瀏覽器的switchy proxy插件中的設置:
chrome设置:
浏览器正常。