注意:我的服务器配置是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);