如何给你的wordpress站点(LNMP环境)安装SSL证书
前提条件
在依据本教程给你的个人网站安装SSL证书之前,请先确认你已经满足如下几点:
- 你的wordpress站点是基于LNMP环境搭建的,即(Linux + Nginx + Mysql + PHP)。
当然LAMP环境可能大同小异,可是我不会( - 请确认你已经准备好安装SSL所需要的证书文件。
由于本站的服务器是腾讯云的,所以下面以腾讯云为例。在腾讯云购买的域名进行相关申请后即可以下载ssl证书文件,如下图所示:
然后我们点击Nginx类型的证书进行下载就会得到文件xxx.com_nginx.zip
(xxx.com就是你网站相应的域名),该文件解压后会获得如下几个文件:xxx.com_bundle.crt
证书文件xxx.com_bundle.pem
证书文件xxx.com.key
私钥文件xxx.com.csr
CSR文件
至此,我们所需要的准备工作都已完成。
安装证书
上传证书文件至服务器
其实上传的路径并不严格限制,只要最后你在配置文件中填写的路径可以找到证书文件就可以,一般只需要将xxx.com_bundle.crt
证书文件和xxx.com.key
私钥文件上传至Nginx的/usr/local/nginx/conf
路径下即可。
编辑Nginx配置文件
Nginx配置文件nginx.conf
同样位于该路径下/usr/local/nginx/conf
,文件具体修改内容如下:
server {
root /home/wordpress;
listen 443 ssl;
#填写绑定证书的域名
server_name xxx.com;
#证书文件名称
ssl_certificate xxx.com_bundle.crt;
#私钥文件名称
ssl_certificate_key xxx.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
#略 原来啥样就啥样,憋改!
}
}
检查配置文件并重启服务
运行以下命令
nginx -t
service nginx restart
现在,你的网站应该用可以用https访问了。
重定向 http转https
最后,我们希望当有人用Http访问网站时可以自动跳转到Https,这时我们只需要在上面提到的nginx.conf
中补充如下代码即可:
server {
listen 80;
#填写绑定证书的域名
server_name xxx.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
其实重定向的方法并不只有这一种写法,本文展示的应该是比较新的写法,其他方法的总结,这位大佬的文章已经总结的十分清楚了,有兴趣的可以前去学习,本文就不赘述了。
Comments 1 条评论
博客作者 895783575
催更催更