mar*_*k10 21 ruby-on-rails amazon-s3
Amazon S3,使用rails和fog.尝试使用以下方法预编译我的资产rake assets:precompile:
信息:
[WARNING] fog: followed redirect to myproject.de.s3-us-west-2.amazonaws.com, connecting to the matching region will be more performant
rake aborted!
hostname does not match the server certificate (OpenSSL::SSL::SSLError)
Run Code Online (Sandbox Code Playgroud)
所以OpenSSL有一些东西
我已经尝试过了:
我已经尝试过application.rb像这样配置证书:没有成功.
AWS.config(:http_handler => AWS :: Http :: HTTPartyHandler.new(:ssl_ca_path =>"/ etc/ssl/certs"))
也openssl从这里安装在Ubuntu 12.04上
问题是: Amazon S3如何处理证书
PEF*_*PEF 24
实际上,您可以使用带点的存储桶名称.你所要做的就是加入:path_style => true你的config.fog_credentials.
在您的示例中,它将给出:
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['S3_KEY'],
:aws_secret_access_key => ENV['S3_SECRET'],
:region => ENV['S3_REGION'],
:path_style => true
}
config.fog_directory = "myproject.de"
Run Code Online (Sandbox Code Playgroud)
Tri*_*onX 12
要通过http S访问S3存储桶URL ,您需要:
.',并使用" 虚拟主机样式 "URL,例如https://simplebucketname.s3.amazonaws.com/myObjectKey https://s3.amazonaws.com/mybucket.mydomain.com/myObjectKey有了fog,您可以设置该选项::path_style => true作为该解决方案解释.
SSL证书验证问题源于.在S3存储桶名称中使用点' '以及"虚拟托管样式方法"URL格式.
的亚马逊S3文档说,它允许两个主URL格式用于访问S3铲斗和对象:
所以发生了什么:
https://myproject.de.s3-us-west-2.amazonaws.com/foo/barmyproject.de.s3-us-west-2.amazonaws.com*.amazonaws.net在SSL TLS协商期间提供SSL 证书*.s3.amazonaws.com反对myproject.de.s3-us-west-2.amazonaws.com*.s3.amazonaws.comhostname does not match the server certificate由于无效的SSL证书CA验证,连接失败互联网上提到了S3 URL问题中的点,例如Drupal项目,AWS论坛,Python Boto库,这篇博客文章中详细解释了这一点:Amazon S3 Gotcha:使用带有HTTPS的虚拟主机URL < - I建议阅读本文以进一步澄清.
mar*_*k10 -4
问题在于namingof bucket,在本例中为 : myproject.de,这是 Amazon S3 服务认为无效的格式。(名称中没有点)。
我已将存储桶的名称更改为myproject.de,myprojectde现在可以使用了。
桶命名规则
在除美国标准区域之外的所有区域中,存储桶名称必须符合以下规则。这会产生符合 DNS 的存储桶名称。
存储桶名称的长度必须至少为 3 个且不超过 63 个字符
存储桶名称必须是一系列由句点 (.) 分隔的一个或多个标签,其中每个标签:
必须以小写字母或数字开头
必须以小写字母或数字结尾
可以包含小写字母、数字和破折号
存储桶名称不得采用 IP 地址格式(例如 192.168.5.4)
以下是有效存储桶名称的示例:
米亚斯桶
my.aws.bucket
myawsbucket.1
以下是无效存储桶名称的示例:
无效的存储桶名称注释 .myawsbucket 存储桶名称不能以句点 (.) 开头。myawsbucket。存储桶名称不能以句点 (.) 结尾。my..examplebucket 标签之间只能有一个句点
请注意,如果您想要使用虚拟托管式请求访问存储桶,例如通过 SSL 访问http://mybucket.s3.amazonaws.com,则存储桶名称不能包含句点 (.)。
进一步的参考在这里
| 归档时间: |
|
| 查看次数: |
9943 次 |
| 最近记录: |