在私有vps(Ubuntu 10.04.4 LTS)上使用rails(3.1)app起步和运行很困难。
使用savon调用soap服务时出现以下错误
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert unexpected message):
lib/modules/soap_client.rb:32:in `create_payment'
app/controllers/payments_controller.rb:34:in `create'
奇怪的是,这个完全相同的应用程序代码在 Heroku 时没有问题,我现在正在托管它。
这似乎是服务器方面的问题。
其他有类似问题的人使用 savon 与 nginx ,独角兽& ubuntu 10.04?
还尝试使用
设置savon来忽略SSL验证@client = Savon::Client.new do
http.auth.ssl.verify_mode = :none
wsdl.document = SOAP_URL
end
Savon版本是0.9.9
Ruby版本1.9.2p180
答案 0 :(得分:0)
没有适合您的解决方案,但我首先要研究的是两台服务器上的OpenSSL版本。 Heroku可能会提供Ubuntu 10.04上没有的更新或修补版本。
另外,我会在ubuntu系统上手动运行OpenSSL s_client进行检查:
openssl s_client -ssl3 -host <fqdn> -port <port>
这将有助于将问题隔离到OpenSSL,假设问题所在。