0

在私有 vps(Ubuntu 10.04.4 LTS)上使用 rails (3.1) 应用程序很难启动和运行。

使用 savon 调用肥皂服务时出现以下错误

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 togeheter 和nginxunicorn和 ubuntu 10.04 时遇到类似问题吗?

还尝试使用 set savon 忽略 SSL 验证

@client = Savon::Client.new do
     http.auth.ssl.verify_mode = :none
     wsdl.document = SOAP_URL
end

Savon 版本是 0.9.9

红宝石版本 1.9.2p180

4

1 回答 1

0

没有适合您的解决方案,但我首先要研究的是两台服务器上的 OpenSSL 版本。Heroku 可能提供了 Ubuntu 10.04 上不可用的更新或修补版本。

另外,我会通过在您的 ubuntu 系统上手动运行 OpenSSL s_client 来检查:

openssl s_client -ssl3 -host <fqdn> -port <port>

假设问题出在哪里,这将有助于将问题隔离到 OpenSSL。

于 2012-06-27T19:57:05.170 回答