分两部分来说:
幸亏以前装过证书,就少走弯路,直奔Let's Encrypt。
可是,智者千虑,必有一失。忽略了Vultr官方自带证书安装,耽误不必要的时间精力。具体参考 Install Let's Encrypt SSL on One-Click wordPress/ target=_blank class=infotextkey>WordPress
步骤清晰明了:
SSH to the server as root and run certbot. Here's an example:
# certbot --Nginx --redirect -d example.com -d www.example.com -m admin@example.com --agree-tos
Let's Encrypt certificates are valid for 90 days. The certbot wizard updates the systemd timers and crontab to automatically renew your certificate.
安装好证书就试试https访问,正常的话域名前面有个小锁的图标,点击可以查看证书有效期。
本站测试https下安装证书ok,但是发现http不会自动跳转https,于是便着手解决,那就是第二部分内容。
按说第一步命令已包含强制跳转
--redirect
Redirect all HTTP requests to HTTPS.
无奈只有手动解决,巧的是vultr官网也有这个问题解决办法。
Redirect HTTP Requests To HTTPS On Nginx
主要就是增加几行代码,其中加粗的是重中之重,稍后再说。
server {
listen 80;
server_name example.com www.example.com;
# Redirect all port 80 (HTTP) requests to port 443 (HTTPS).
return 301 https://example.com$request_uri;
}
以为按上面添加几行就皆大欢喜?没呢,最后还有命令,让配置文件生效。
本人用的是service nginx reload。终于搞定!
命令参考如下:
nginx -s signal
signal 的值如下:
stop:fast shutdown,快速的停止 nginx
quit:graceful shutdown,不再接受新的请求,等正在处理的请求出完成后在进行停止(优雅的关闭)
reload:reloading the configuration file,重新加载配置文件
reopen:reopening the log files,重新写入日志文件
文末补充以上操作的软硬件环境:
硬件:苹果本M1 macBookPro 16G+1T
软件:利用vultr的官方自带终端
事后小结、一定要耐心细致,特别是命令的使用。