阻止:在 HTTPS 中加载 Laravel CSS 和 JS 时出现混合内容错误
Posted
技术标签:
【中文标题】阻止:在 HTTPS 中加载 Laravel CSS 和 JS 时出现混合内容错误【英文标题】:Blocked:Mixed-Content error while loading Laravel CSS and JS in HTTPS 【发布时间】:2018-11-17 13:15:16 【问题描述】:我正在使用 Laravel 5.5.39 版,并使用 ELB 以及来自 Amazon 证书管理器的 SSL 在 AWS 中托管我的实例。加载网站时,它显示安全,几秒钟后它又恢复为不安全,因为我的 css 和 js 在开发者工具中出现“blocked:mixed-content”错误。我的证书是有效的,但 https 不能正常工作,任何帮助将不胜感激?
操作系统-Amazon Linux、Apache - Apache/2.4.27
【问题讨论】:
serverfault.com 这可能是 301 重定向的htaccess
语法问题。向我们展示你的 .htaccess
-- 和你的 Laravel config
【参考方案1】:
@Zak,请找到 .htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %HTTP:Authorization .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_URI (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
</IfModule>
【讨论】:
@Zak,感谢您编辑 .htaccess,这正是我所拥有的,您能否提供您的建议。【参考方案2】:从
中找到相同问题的解决方案-
https://laracasts.com/discuss/channels/laravel/mixed-content-issue-content-must-be-served-as-https
https://laracasts.com/discuss/channels/laravel/getting-mixed-content-error-when-viewing-website-over-https?page=1
Load Blade assets with https in Laravel
【讨论】:
非常感谢您的建议,此链接“laracasts.com/discuss/channels/laravel/…”中提供的解决方案已解决问题【参考方案3】:混合内容错误是由于您的代码中使用了带有 http 的非 SSL 网址。例如:如果您使用的是 google 字体,例如
<link href="http://fonts.googleapis.com/css?family=Sunflower:300" rel="stylesheet">
在您的站点中是 http 而不是 https,这将导致问题。 请检查您在网站中使用的所有 url 是否有 https 而不是 http。希望这会有所帮助。
【讨论】:
以上是关于阻止:在 HTTPS 中加载 Laravel CSS 和 JS 时出现混合内容错误的主要内容,如果未能解决你的问题,请参考以下文章