通过 HTTP 加载 HTTPS 资产
Posted
技术标签:
【中文标题】通过 HTTP 加载 HTTPS 资产【英文标题】:HTTPS assets loading over HTTP 【发布时间】:2015-03-25 13:19:48 【问题描述】:我正在尝试通过 HTTPS 加载 Google 字体和图像,但它们继续通过 HTTP 加载,尽管在所有资产中将路径更改为“https”。
混合内容:“https://”页面通过 HTTPS 加载,但请求的样式表“http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300italic,300,400italic,500,500italic,700,700italic,900,900italic”不安全。此请求已被阻止;内容必须通过 HTTPS 提供。
混合内容:“https://”页面通过 HTTPS 加载,但请求的图片不安全 'http://farm6.staticflickr.com/5267/5783999789_9d06e5d7df_b.jpg'。此内容也应通过 HTTPS 提供。
【问题讨论】:
【参考方案1】:您可以像这样使用与协议相关的网址:
'//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300italic,300,400italic,500,500italic,700,700italic,900,900italic'.
另外,别忘了跑
rake assets:precompile
在推送到 heroku 之前。
【讨论】:
【参考方案2】:对于使用 laravel 遇到类似问题的人,html::style('css/style.css')
和 HTML::script('js/script.js')
可以通过修改语句来简单地使 HTMLBuilder 安全
HTML::style('css/style.css',array(),true)
和
HTML::script('js/script.js',array(),true)
'true' 坚持认为内容是安全地或通过 HTTPS 切断的
【讨论】:
以上是关于通过 HTTP 加载 HTTPS 资产的主要内容,如果未能解决你的问题,请参考以下文章