【发布时间】:2014-07-16 15:29:28
【问题描述】:
我有两台服务器,每台都运行一个 Rails 应用程序 (MyApp)。其中一台服务器设法获取 wsdl,而另一台则没有。我不知道如何处理我的错误消息。任何人都可以建议尝试更改吗?
我已经对比过两台机器上的 /etc/ssl/certs 的内容,看起来是一样的。
在两台机器上,SSL 握手使用 openssl s_client -connect ws2.agencyworks.com:443 -ssl3 成功,但在未指定 -ssl3 时在服务器 2 上失败。 (替代-ssl3,-tls1 在两台机器上都成功。)
有没有办法为 openssl 指定默认的 ssl 版本?
一个准系统示例(Ruby 1.8.7):
http = Net::HTTP.new 'ws2.agencyworks.com', 443
http.use_ssl = true
http.get '/EServices/services/StatusSession/wsdl/StatusSession.wsdl'
# Server 1 returns => #<Net::HTTPOK 200 OK readbody=true>
# Server 2 errors out: OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A
有没有办法在 Ruby 1.8 的 net/http 中指定 ssl 版本? (我还没有找到。)
【问题讨论】:
标签: ruby ssl openssl ruby-on-rails-2