Ruby on rails Ruby rails回形针Seahorse::Client::NetworkingError(SSL\u connect返回=1 errno=0 state=错误:证书验证失败)

Ruby on rails Ruby rails回形针Seahorse::Client::NetworkingError(SSL\u connect返回=1 errno=0 state=错误:证书验证失败),ruby-on-rails,ruby,ssl,amazon-s3,paperclip,Ruby On Rails,Ruby,Ssl,Amazon S3,Paperclip,我正在使用ruby on rails,即回形针5gem,我使用它将图像上传到Amazon S3存储 提交时,在我的实际主机上,一切正常,上传成功,但如果在本地主机上上传,我会出现以下错误: Completed 500 Internal Server Error in 3395ms (ActiveRecord: 2.5ms) Seahorse::Client::NetworkingError (SSL_connect returned=1 errno=0 state=error: certifi

我正在使用ruby on rails,即
回形针5
gem,我使用它将图像上传到Amazon S3存储

提交时,在我的实际主机上,一切正常,上传成功,但如果在本地主机上上传,我会出现以下错误:

Completed 500 Internal Server Error in 3395ms (ActiveRecord: 2.5ms)

Seahorse::Client::NetworkingError (SSL_connect returned=1 errno=0 state=error: certificate verify failed):

我想这是因为我在本地主机上没有SSL。在本地主机上是否有不使用SSL访问S3存储的方法?有这样的设置吗?

在初始值设定项中创建一个文件,并放置下面的代码

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

问题的解决方案是加载证书。如果您的SSL版本没有这些证书,您可以使用打包的证书,如下所述:

这一问题也在本报告中得到了解决


按照Aniket的建议忽略证书验证是一个坏主意。

请告诉我以下解决方案是否有效not@AniketShivamTiwari嘿,回答!为了确保您(或未来的读者)认识到这样做的后果,这是一个巨大的安全问题。您正在重写一个
OpenSSL
常量。当您重写该常量时,会收到警告。实际上,此更改意味着,在您发出SSL请求的任何其他地方都不会强制执行SSL验证,而这些SSL请求期望强制执行对等验证。如果您只是试图破解一个快速的一次性解决方案,好吧,但我不希望将此提交到我的代码库中。真正的解决办法是:1。未在开发2中提出请求。仅针对此请求更改验证我给出的解决方案仅针对开发模式。这不是好的做法,即使在开发环境中,您实际上访问外部服务并将信任留给任何人。