我在专用区域中有一台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.
我认为代理工作是因为它正在连接。我不知道是什么原因造成的。
此OpenSSL错误表示wget
发送了初始SSL ClientHello消息,但从服务器(或代理)获得了非SSL ServerHello消息的意外响应。
这可能是因为代理与客户端使用纯HTTP,而不是HTTPS,因为配置错误(例如,如果端口443通过透明选项重定向到http_port
而不是https_port
,则使用squid),或者因为它根本不支持SSL的透明代理。要进行调试,您可以尝试连接到http://www.google.com:443/
,看看会发生什么。要了解发生了什么,您可能需要在连接时运行tcpdump
,以查看服务器的响应。还要检查透明代理的错误日志。
如果没有透明的代理配置,很难判断问题出在哪里。