一、配置Nginx下的Ssl
首先你需要一个独立IP和ssl证书,下面博主给个申请地址,大家自行去申请,https://buy.wosign.com/free/?(这是沃通免费3年的ssl证书)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
证书颁发以后,取回证书,将for nginx压缩包解压,得到一个xxx.key和xxx.crt,第一个是密钥,第二个是证书。然后再nginx配置文件加上下面的代码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
- #------SSL BEGIN
- listen 443;
- ssl on;
- ssl_certificate /usr/local/nginx/conf/ssl/xxx.crt;
- ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;
- #------SSL END
二、替换站内非Https资源。
按照上面的方法更改好配置文件后,我们通过https访问网站,看一下效果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
虽然可以访问了,但是并没有显示绿锁,而是有一个三角形的标志,大概意思是网站加载了非https资源,ssl协议下所有资源都必须是加密链接,所以下一步的工作就是将所有http资源换成https加密链接加载,首先在WP后台→设置→常规→WordPress地址和站点地址改成https的。完成这部以后还是有不少非加密链接,这里可以执行sql命令快速将站内的http链接替换成https链接,不懂的可以用Velvet Blues Update URLs这个插件快速替换,替换完成后可删除插件。使用方法如下图所示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
第一个框内填入http://xxx.com,然后在第二个框内填入https://xxx.com即可,具体填写自己的域名。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
三、替换Gravatar头像源
说道http加载项,gravatar头像当然也算,这里博主提供一个头像缓存服务器,可以用加密链接访问,只要将下面代码加到主题functions.php即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
1 2 3 4 5 6 | //Gravatar ssl function get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://xx.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar); return $avatar; } add_filter('get_avatar', 'get_ssl_avatar'); |
四、使用301强制Https访问
通过nginxRewrite规则可以轻松的将所有http访问全部301到https上,也就是无论访问设么页面,都会跳转到https页面,实现方法将下面的代码加到nginx的Rewrite规则即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/14309.html
1 2 3 4 5 6 7 8 9 10 11 12 | if ($server_port !~ "^443$"){ set $rule_0 1$rule_0; } if ($http_user_agent !~* "MSIE/[1-8]."){ set $rule_0 2$rule_0; } if ($http_host ~ "xxx.com"){ set $rule_0 3$rule_0; } if ($rule_0 = "321"){ rewrite ^/.*$ https://xxx.com$uri permanent; } |