现在我有一个网站,在ubuntu和nginx上运行。
http://www.huangwenchao.com.cn
我刚刚在其上安装了SSL证书:
server {
listen 80;
server_name www.huangwenchao.com.cn huangwenchao.com.cn;
rewrite ^/(.*)$ https://www.huangwenchao.com.cn/$1 permanent;
}
server {
listen 443;
root /var/www/huangwenchao;
index index.php index.html index.htm;
server_name www.huangwenchao.com.cn huangwenchao.com.cn;
ssl on;
ssl_certificate /home/ubuntu/ssl/mydomain.crt;
ssl_certificate_key /home/ubuntu/ssl/mydomain.ssl.key;
}
这意味着当我从这个域请求http时,它被301重新定向到https。
最初,浏览器(chrome)告诉该页面有一些不安全的图像,视频和脚本,如下所示:
https://www.huangwenchao.com.cn/2013/11/427-3032.html
这里的一些资源指向我自己的网站,就像一些带链接的图片:
http://www.huangwenchao.com.cn/wp-content/uploads/2015/01/tortoisegit-diff.jpg
在此页面中:https://www.huangwenchao.com.cn/2015/01/git-patch.html
所以我想知道:
答案 0 :(得分:1)
如果有一个或多个资源加载了HTTP,则存在“不安全内容”警告,即使资源被重定向到HTTPS也是如此。这是有道理的,因为如果访问者处于中间人攻击(攻击者修改未加密的资源),攻击者可以通过更改像脚本这样的未加密(HTTP)资源来发送任意代码。
要避免此警告,您必须确保页面中的每个资源都加载了HTTPS:脚本,样式表,图像,字体等。对于Wordpress,请确保您的网站地址以“https:/”开头/“并确保您在帖子中添加的所有图片都加载了HTTPS。
最好使用301重定向将所有流量重定向到HTTPS,因为您确定所有访问者都使用HTTPS进行浏览(=加密)。但您必须确保HTTPS的质量,否则一些访问者可能无法访问您的网站。
一些附注:您可以将rewrite
规则替换为return 301 https://$host$request_uri;
,并且我的网站出现了证书错误,请确保包含中间证书。您可以在https://www.ssllabs.com/上查看HTTPS的质量。