我在私有区域中有一台RHEL5服务器。我为端口80和443设置了透明代理。当我在443上尝试wget时,我得到以下内容:
# wget -O- https://www.google.com
--2013-02-14 15:16:50-- https://www.google.com/
Resolving www.google.com... 74.125.129.147, 74.125.129.104, 74.125.129.106, ...
Connecting to www.google.com|74.125.129.147|:443... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
我认为代理有效,因为它正在连接。我不知道还有什么可能导致这种情况。
答案 0 :(得分:1)
此OpenSSL错误表示wget
发送了初始SSL ClientHello消息,但从服务器(或代理)收到的意外响应不是SSL ServerHello消息。
这可能是因为代理使用客户端而不是HTTPS来说明HTTP,因为配置错误(例如,如果端口443被重定向到http_port
而不是https_port
,则使用squid透明选项),或者因为它根本不支持SSL的透明代理。要进行调试,您可以尝试连接到http://www.google.com:443/
以查看会发生什么。要知道发生了什么,您可能希望在连接时运行tcpdump
以查看服务器响应的内容。另请检查透明代理的错误日志。
如果没有透明的代理配置,很难说出问题所在。