使用免费的SSL证书Let's Encrypt
对于个人或者小型公司来说,申请正规的SSL证书,还是需要一定的费用的。目前,免费SSL证书也挺多,但很多都是只有1年的免费期,推荐使用Let's Encrypt证书,虽然其默认只有90天,但通过脚本,可以自动续费,理论上可以无限期使用,还是很方便的。
推荐使用acme脚本来自动生成、自动续费SSL证书。
curl https://get.acme.sh | sh
下载后,脚本会自动安装到/root/.acme.sh目录下,首先注册一个账号
/root/.acme.sh/acme.sh --register-account -m xxxx@163.com
vi create_ssl.sh
export DP_Id="100000"
export DP_Key="xxxxxxxx"
~/.acme.sh/acme.sh --issue --dns dns_dp -d tech126.com -d *.tech126.com
根据自己的域名解析用的工具,自行修改上面脚本的参数,我使用的是DNSPod,因此对应的是DNSPod的API ID和key。
执行完上述脚本后,就会在/root/.acme.sh/tech126.com下面生成相应的证书文件
接下来修改nginx的配置文件
listen 443 ssl;
charset utf8;ssl_certificate ssl/tech126.com.cer;
ssl_certificate_key ssl/tech126.com.key;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
增加80端口的自动跳转
server {
listen :80;server_name tech126.com www.tech126.com;
rewrite ^(.)$ https://$host$1 permanent;
}
重启nginx,之后在wordpress的admin管理后台,修改网站主页为https即可。