1.获取免费的SSL证书
在部署HTTPS之前,我们需要先获取SSL证书,我购买的是鹅肠的云服务器,可以申请免费证书,点击这个链接进行申请鹅肠SSL证书申请,按照界面的上的操作步骤进行操作就可以了,审核通过之后,下载证书即可,下载的压缩文件中包含的文件如下图所示,具体看你使用的哪款服务器进行部署的,自行选择,我这里选择的ngxin服务器。
2.拷贝SSL证书
下载好证书之后解压出来,将证书文件拷贝到服务器中的目标文件夹中。我这里使用ngxin作为示例,一般存放在
- /etc/nginx/cert/ssl_name.crt
- /etc/nginx/cert/ssl_name.key
其中cert目录是不存在的而且命名可以随意命名,但是建议使用望文生义的名称,这两个路径十分重要,后续的配置中需要用到。
3.配置nginx
打开ngxin的配置文件
sudo vim /etc/nginx/sites-avaliable/default
在你需要的Server块中修改为下面内容
server{
# listen 80 default_server;
# listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
listen 443;
ssl on;
ssl_certificate /etc/nginx/cert/1_2dogz.cn_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_2dogz.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
上面的内容为配置HTTPS,server块中的其他内容不能删除掉!
4.配置重定向
因为原来采用的http的方式访问,经过上述配置之后采用http方式访问就会失效,因此我们需要将http访问方式重定向到https上面来,同样在上一小节的配置文件中加入如下内容
server {
listen 80;
server_name 2dogz.cn;
rewrite ^(.*)$ https://$host$1 permanent;
}
其中server_name是你自己网站的域名。
这样我们的网站就可以通过https的方式访问啦,如下图,在浏览器的地址栏会显示一个锁的图标,点击即可以看到相关信息
5.配置HTTP2
配置HTTP2协议其实非常的简单,只需要在配置文件监听端口部分加入下面的配置即可
server{
# listen 80 default_server;
# listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
listen 443 ssl http2;
ssl on;
ssl_certificate /etc/nginx/cert/1_2dogz.cn_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_2dogz.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
agys 用户 2021-02-26T06:00:57
博主是前后端分离的么?