背景介绍
博客完成云服务器部署后,可以正常访问,但浏览器会提醒不安全,且容易被聊天软件阻止访问,因此进行https设置。
服务器提供商:腾讯云
操作系统:Centos 7.6 64bit
域名:已在腾讯云购买域名并同时申请了SSL证书,一年免费
Web服务器:Nginx
获取证书
1)在腾讯云证书管理处根据Web服务器下载相应的证书。
2)下载后得到包含证书的压缩包,解压缩得到证书文件。
上传至服务器
在服务器上创建文件夹,用于存放证书,并将解压得到的证书上传至该文件夹。
我的Nginx安装路径为:/etc/nginx,所以就在该目录下创建了/SSL
文件夹并将证书上传至该文件夹。
配置Nginx
打开Nginx的配置文件,我的为:/etc/nginx/nginx.conf,不清楚自己的在哪里,可以通过nginx -t
命令进行查询
在
http{ }
代码段中已有一段server{ }
代码段server { … listen 80; … }代码段是对80端口进行的相关设置,浏览器默认的访问请求方式http就是通过80端口访问网站的。
https方式通过443端口进行访问,因此再添加一段针对443端口的设置即可
在http{ }
代码段中添加如下代码:
1 | # Settings for a SSL enabled server. |
完成上述设置后,当通过https://你的域名:443
访问网站时,会显示站点安全。
HTTP 自动跳转到 HTTPS
通常访客直接通过域名访问,浏览器默认该方式为http请求,因此需要实现自动将http请求重定向至https请求的功能,继续添加代码段如下:
1 | # 前面添加的 server { lister 443 ...} 代码段 |
此时Nginx服务器会自动将收到的http请求变为https请求。
重启Nginx服务并尝试访问
上述代码更改完毕并保存后,执行nginx -t
可以检查是否有错误,当出现‘...ok、...successful’
,表示配置无误,之后重启Nginx服务
1 | nginx -s reload |
再次尝试域名访问网站,可以看到https访问,不安全提示消失。