弄https的时候啥都不懂,结果走了不少弯路。总结一下流程
前提:域名解析弄好
首先申请SSL,方法很多,为了图方便用腾讯云https://console.cloud.tencent.com/certoverview申请了免费的TrustAsia TLS RSA CA。下载证书,获得以下四个文件:
surlive.net.csr
surlive.net.key
surlive.net_bundle.crt
surlive.net_bundle.pem
将.key和.crt放到/www/server/nginx/conf/目录下,使用宝塔面板修改nginx配置文件或直接修改/www/server/nginx/conf/nginx.conf,在 http{ 中加入以下代码后重启nginx
ssl_certificate surlive.net_bundle.crt; #.crt文件名
ssl_certificate_key surlive.net.key; #.key文件名
server
{
listen 443 ssl;
server_name surlive.net; #域名
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/lighthouse/softwares/wordpress; #wordpress工作目录
index index.php;
}
}
server {
listen 80;
server_name surlive.net; #域名
rewrite ^(.*)$ https://$host$1 permanent;
}
之后修改/usr/local/lighthouse/softwares/wordpress/wp-config.php,加入以下代码
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
之后在宝塔面板的‘’网站‘’标签页下,点击站点-SSL-其他证书,将.key和.pem中的内容复制进去,点保存(或使用wordpress插件Really Simple SSL?未确认)虽然我不太清楚这步的具体机制,但是没这步不行,猜测可能是对wordpress数据库的对应词条进行了替换,顺带一提code server弄https就不需要这步
进入wordpress后台,修改wordpress地址和站点地址为https://xxxxx(如果改完之后炸了参照https://cuijiahua.com/blog/2017/10/website_1.html恢复),将各种设置、页面里填的http改为https
完事
Comments | NOTHING