当协议是https时,Amazon S3资产将无法加载, - Rails,Heroku

时间:2012-07-24 18:30:52

标签: ruby-on-rails heroku amazon-s3

我在heroku上设置了asset_sync gem,遵循以下URL:https://github.com/rumblelabs/asset_sync

设置正常,我在S3上传了所有静态资产。

问题是,当我通过https协议打开页面时,无法访问任何资产,因为浏览器返回“此连接不可信”。 (与Chrome和Firefox相同)。

我承认访问s3资产网址后,每个资产都可以使用。 https://myapp.asset.s3.amazonaws.com/assets

有人有同样的问题吗?如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

s3的SSL证书是通配符证书,即适用于* .s3.amazonaws.com。但是,许多证书检查库将其定义为涵盖foo.s3.amazonaws.com但不包括foo.bar.amazonaws.com:通配符证书只会降低一级。

最简单的解决方案是选择一个没有点的桶名称,例如myapp-assets

另一种解决方案是以https://s3.amazonaws.com/myapp.asset/assets/...的形式访问文件。我相信您必须设置config.assets.prefix告诉我们资产不在相对于资产主机的正常位置。