nginx和wordpress配置https

  • 内容
  • 评论
  • 相关

网站开启https的重要性

https对于一个网站来说还是很重要的,数据加密,提高网站安全性,提升SEO排名等.....,这里就不多说了,反正要是想自己的网站能被搜索引擎更友好的对待,开启https是必须的

申请免费的SSL证书

我的域名是在阿里云申请的,所以直接在阿里云上面申请下载一个SSL证书就行了,其他的域名服务商怎么操作我不清楚,估计都是差不多的

这里在填写 '要申请的域名' 的时候感觉有点小坑,提示的是填写*号可以匹配所有的二级域名,结果填*号都没法儿提交,然后我的解决方法就是填写www(www.xxxxx.com其实是等价于xxxxx.com)

可以在自己的证书列表中查看申请进度,一般来说几分钟就能搞定

下载上传SSL证书

点击下载会出现这个界面,我的网站是nginx+wordpress,所以下载nginx类型的,其他类型请根据实际情况进行选择。

不管自己是不是第一次配置SSL,一定要看看帮助文档(点击帮助链接),文档记录了详细步骤

这是从帮助文档中复制的nginx的配置信息

server {
listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/a.pem; ssl_certificate_key cert/a.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; }
}

证书下载解压后有两个文件  xxxxxxxx.pem  和  xxxxxxx.key,将xxxx.pem修改为a.crt,xxxx.key修改为a.key(因为从文档复制的nginx配置信息中就是以a来命名这两个文件的),至于为什么要修改pem为crt官方文档中有解释

然后在nginx的conf目录下新建文件夹cert,将这个两个文件上传。

其实根据文档的要求是在nginx的安装目录下新建cert文件夹,但是经过的我的多次报错之后(在conf/cert目录下找不到文件),我把cert文件夹放到了conf目录下

配置nginx

调整一下从帮助文档中复制的nginx配置信息,a.pem修改为a.crt,修改root的路径root /home/wwwroot/wordpress,这个路径是访问wordpress的路径,再删掉一些配置,将server加到nginx.conf中,在nginx的sbin目录中执行 ./nginx -s reload重新加载nginx配置信息就OK了

server {
listen 443; ssl on; root /home/wwwroot/wordpress;; index index.html index.htm; ssl_certificate cert/a.crt; ssl_certificate_key cert/a.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;
}

开启443端口

在服务器的安全组配置中开启443端口,这样https的访问就没问题了https://jiafeiblog.com

将http的连接重定向至https

网站虽然开启了https,但是默认的http还是存在的,并且它不会自动跳转至https的链接,所以需要配置nginx让其重定向到https链接

在监听80端口的server中配置

rewrite ^(.*) https://jiafeiblog.com;

其他配置都是在搭建wordpress的时候默认的

完成

至此,nginx网站开启https就搞定了

评论

0条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注