目前大多数网站都是在用的HTTPS,为何要用HTTPS你们必定是都知道的,从HTTP升级到HTTPS,也是为网站的安全性来考虑的。HTTPS是在HTTP的基础上加上了SSL安全认证,是正所谓HTTPS=HTTP + SSL。为了方面本身写文章,相信大多数同窗都有搭建本身的我的博客(本身纯手写或者使用静态模板),大多数应该是服务在本身的Nginx服务上或者使用Github托管,使用Nginx作代理的起初是经过HTTP来访问的,因此须要本身手动去配置成HTTPS的。html
至于为何推进我去作这件事情?缘由有三点nginx
搭建HTTPS须要用到SSL证书,这个证书是由CA认证机构来颁发的,通常都是须要RMB的,固然也有一些免费的。FreeSSL就是一个提供免费HTTPS证书申请的网站,笔者就是从这上面申请的。面试
首先进入这个网站的首页浏览器
CSR生成由于官网推荐,因此就选择了离线生成。安全
输入邮箱以后点击建立,点击以后会提示打开KeyManager,这个是用来管理证书的,若是本身电脑上没有能够去点进去官网下载。服务器
验证经过以后就会看到证书信息,你看到的应该和这个不太同样(应该是有个经过KeyManager管理的按钮) session
点击使用KeyManager管理,就可使用那个管理平台来管理你的证书了。测试
进入KeyManager证书管理就会看到你的证书。网站
第一步得到证书已经完成,下面就须要进行配置了。服务器配置主要分为如下几步:ui
笔者是使用的腾讯云的服务器(阿里云也能够,都是学生价,便宜),建议将证书放在便于管理的地方,建议放在/etc/ssl
下,看名字也知道是用来存在ssl证书的。
将证书传入到服务器上可使用Linux的scp
命令
#若是是文件
scp 你的ssl证书文件 root@你的服务器ip:/etc/ssl
# 若是是文件夹
scp -r 你的ssl证书文件夹 root@你的服务器ip:/etc/ssl
复制代码
若是传的是文件,进入服务器上进行解压,解压完成以后,就会获得两个文件:一个是crt
后缀的,一个是key
后缀的。
将证书放在服务器上以后须要去修改nginx.conf配置。由于以前是使用的80端口,可是HTTPS使用的443端口,因此要修改一下。
通常Nginx上都有443端口的配置,可是注释的,只要打开注释修改一点信息便可。
下面是个人443端口的配置。
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name kim.cckim.cn;
root /usr/share/nginx/html;
ssl_certificate "/etc/ssl/xxxxx/xxxxx.crt";
ssl_certificate_key "/etc/ssl/xxxxx/xxxxx.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /usr/share/nginx/html/public;
index index.html;
}
error_page 404 /404.html;
location = /40x.html {
}
}
复制代码
将全部的注释打开,下面说一下须要修改的地方
nginx.conf上443端口的配置就基本完成了
若是你的云服务器上没有开发443端口的话须要去服务器平台的安全组中开发443端口。
操做完成以后就先访问一下,可能你会发如今浏览器中输入kim.cckim.cn
(输入你的域名)是是没法访问的,可是输入https://kim.cckim.cn
(仍是输入你的域名)就能够访问。
是由于域名到nginx默认走的是http,还须要对http作一下重定向到https上。
重定向只须要在nginx.conf文件中配置一下便可。
server {
listen 80;
server_name kim.cckim.cn;
return 301 https://$host$request_uri;
}
复制代码
这里server_name写你本身的域名便可。再次直接使用域名访问的话就能够了。
笔者应该是配置HTTPS比较靠后的一批了,相信已经有不少同窗完成。此次把本身的配置过程记录向来,但愿能够给没有配置过HTTPS的同窗一些帮助。