正确链接的混合内容仍会在Chrome

时间:2018-02-11 18:28:17

标签: google-chrome https mixed-content

我有一个使用SSL证书的网站,并将所有http链接重定向到https。它仍会在Chrome上显示我正在尝试加载的所有图片的混合内容警告。我已经尝试了一切,我去了这个页面:

https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#alternatives_to_csp

这很有帮助,但没有解决我的问题。我尝试将建议的元标记添加到我的<head>,但这只是阻止了所有图片,这确认了Chrome认为图片未安全托管。他们绝对是!如果你去:

http://www.growconomy.net/img/background.png

您可以看到它会自动重定向到https!更重要的是,我在源代码中将所有图像链接更改为https,所以这甚至不重要。但是我的图片是100%从https链接中提取的,我不知道为什么或者Chrome如何从http中提取它们。

您可以在此处查看网站: http://www.growconomy.net

我很想知道你是否收到同样的警告。这很烦人,因为大多数人都使用Chrome,因此就我的知识而言根本没有必要时会看到警告。这可能是什么?

我的.htaccess文件如下所示:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.growconomy.net [NC]
RewriteRule ^(.*)$ https://growconomy.net/$1 [L,R=301]

RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index\.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 

1 个答案:

答案 0 :(得分:1)

您的所有资源都从HTTPS重定向到HTTP。因此,即使所有图片网址都以HTML中的public class P { public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { try { System.out.println("started"); Clip clip = AudioSystem.getClip(); File file = new File(".......................wav"); AudioInputStream inputStream = AudioSystem.getAudioInputStream(file); clip.open(inputStream); clip.start(); while(clip.isOpen()) { try { Thread.sleep(2000); } catch(InterruptedException ie) {} if(!clip.isActive()) break; } } catch (Exception e) { e.printStackTrace(); } } }).start(); } } 开头,响应也会从https://重定向到https://www.growconomy.net/img/favicon.ico,依此类推。修复重定向,警告将消失。 Chrome的网络标签将显示301和302重定向的内容。