我正在使用Cloudfront为Heroku上的Rails应用程序提供资产。通过http可以正常工作。但是,当我通过https访问我的网站时,资产无法加载,并且出现此错误:
Mixed Content: The page was loaded over HTTPS, but requested an insecure stylesheet. This request has been blocked; the content must be served over HTTPS
我尝试过的事情:
答案 0 :(得分:0)
尝试设置此选项
app / config / environments / production.rb
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true
config.action_controller.asset_host = "<YOUR DISTRIBUTION SUBDOMAIN>.cloudfront.net"
https://devcenter.heroku.com/articles/using-amazon-cloudfront-cdn#testing上的文档对此警告发表了评论:
如果您想使用SSL服务Cloudfront资产,则只需 在Amazon给您的分发域上使用HTTPS。注意, 同时您可以为此创建CNAME,以服务Cloudfront 您的CNAME和SSL上的资产有附加费用。