wordpress作为目前世界上使用范围最广的内容管理系统,不只是功能强大,安全性能还很强。他可以自动判断当前访问的协议以及端口,当这些与系统设置的不同时,会通过跳转跳转到正确的域名去。防止网站被伪造。
但是这个机制同时也对http协议升级到https协议造成了一定的影响。因此wordpres升级https协议需要如下操作才能正常执行。
一、修改数据库
修改对应数据库的数据表wp_options中的option_name=siteurl与option_name=host的两个网址。
然后修改对应的option_value,将http修改为https
如果您是直接使用nginx+php-fpm或是apache2,这样就可以了。但是如果您使用的是nginx反向代理apache2,或是使用了cdn技术。您就还需要下面两步。
二、修改端口
如果您是nginx反向代理,那么真正运行https协议的服务器其实并没有启动https,因此端口依旧是80端口。
但是我们需要让系统认为我们当前的运行端口已经是443端口了。否则会无限重定向的。
因此我们需要修改wp-config.php文件。然后在最上面添加
$_SERVER["SERVER_PORT"] = 443
三、申明https协议
同样由于反向代理,所以服务器实际没有申明https协议,需要强制声明一下。
同样是修改wp-config.php文件,在最上面添加
$_SERVER['HTTPS'] = 'on';
经过了这三部操作后,wordpress就成功的转换为https协议了,而且完美支持反向代理。