注意:我的服务器配置是docker上的nginx 和 docker 上的wordpress,所以其他情况不一定适用。
我的域名是在阿里云注册的,直接使用阿里云提供的免费的ssl证书,按照手册生成证书,上传到服务器,修改nginx的配置文件。注意,nginx如果没有预留443端口,可能需要rm掉重新添加个容器。
重启ngxin后发现只有首页启用了https并且主题都没了,而且不是全站https。网上找了一些教程改来改去,一会儿too many redirects,一会儿502/404/500错误。
经过半天测试发现两个关键的修改点(不要修改.htaccess文件):
1. nginx的配置文件中的 listen 80那个server 修改为:
server {
listen 80;
server_name domain2.com www.domain2.com;
return 301 https://$server_name$request_uri;
}
2. 在wp-config.php的行首添加如下四行,其他任何多余的都不要改了:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_CONTENT', true);