1.一零这次使用的CA证书是在阿里云申请的免费证书,具体的申请过程就不一一赘述,申请完成后下载证书文件,一个压缩包包含两个文件分别为公钥和私钥。
2.第二步则是修改服务器的环境配置,本次配置的是nginx。首先在服务器中创建一个文件夹用于存储证书文件,然后修改nginx配置文件,将server位置信息作如下修改:
server {
listen 443 ssl; #CA证书需要通过443端口
ssl on;
server_name onezero.cc www.onezero.cc; #站点域名
root /www/***; #个人的站点目录
index index.html index.php index.htm;
ssl_certificate /www/cert/**********.pem;
ssl_certificate_key /www/cert/*******.key; #证书私钥的位置。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
3.完成第二步只是确保http和https共存,如果要求只能通过https访问,则需要配置80端口http强制跳转至https,在80端口的server处增加如下代码:
rewrite ^(.*)$ https://$host$1 permanent;
效果如图:
4.修改站点中的部分url,打开wordpress数据库的wp_options表,修改siteurl和home两个字段的内容为https:// www.yourdomain.com,具体效果如图所示:
5.这时候站点的页面可以正常访问,但是在登陆后台时可能会遇到下图问题,提示重定向的次数过多。
这时候首先修改config.php,在结尾处添加如下代码:
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
但是可能还是提示上述的错误,但是在url中再加上index.php即可正常访问网站后台,下面则需要直接对站点的代码进行修改,打开站点后台代码,默认为wp-login.php,找到第782行,在结尾处加上.’index.php’即可。
至此,可以实现wordpress全站增加https,如果遇到其他问题可以在下方留言!