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

Ats*_*ima 3 ruby-on-rails heroku amazon-s3

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

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

问题是,当我通过https协议打开页面时,无法访问任何资产,因为浏览器返回"This Connection is Untrusted".(与Chrome和Firefox相同).

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

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

Fre*_*ung 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告诉我们资产不在相对于资产主机的正常位置.