我正在尝试通过PayPal付款时,在我的rails应用程序中无法建立与远程服务器的SSL连接。集成适用于开发和测试环境(PayPal沙盒),但在生产环境中不起作用。
PayPal已将TLS升级到1.2:https://devblog.paypal.com/upcoming-security-changes-notice/
您需要升级 openssl 版本以支持 TLS 1.2。
如果您使用的是 Ubuntu 12.04,您可以使用以下命令升级 openssl:
sudo apt-get update && sudo apt-get install --only-upgrade openssl
sudo apt-get update && sudo apt-get install --only-upgrade libssl-dev
对于其他系统,请查看 Stripe 的此支持页面:
https://support.stripe.com/questions/how-do-i-upgrade-my-openssl-to-support-tls-1-2
OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ssl_version]
的值从:TLSv1
更改为"SSLv23_client"
config/initializers/openssl.rb
并重新启动服务器