已阻止:在HTTPS中加载Laravel CSS和JS时出现混合内容错误



我正在使用Laravel版本5.5.39,并使用ELB以及Amazon Certificate Manager的SSL在AWS中托管我的实例。加载网站时,它显示安全,几秒钟后它又回来了,因为我的 css 和 js 在开发人员工具中收到"阻止:混合内容"错误。 我的证书有效,但https无法正常工作,任何帮助将不胜感激?

OS-Amazon Linux, Apache - Apache/2.4.27

@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>

从中找到相同问题的解决方案

  1. https://laracasts.com/discuss/channels/laravel/mixed-content-issue-content-must-be-served-as-https
  2. https://laracasts.com/discuss/channels/laravel/getting-mixed-content-error-when-viewing-website-over-https?page=1
  3. 在Laravel中使用https加载刀片资产

混合内容错误是由于在代码中使用带有 http 的非 ssl url 造成的。例如:如果您使用的是谷歌字体,例如

<link href="http://fonts.googleapis.com/css?family=Sunflower:300" rel="stylesheet">

那是HTTP而不是HTTPS在您的站点中,它会导致问题。 请检查您在网站中使用的所有网址是否都具有https而不是http。希望这有帮助。

最新更新