如何免费将http升级成https?

你好,我是猿java。

如果你的域名是http,在访问网站时,总是会有个烦人的警告”不安全”,严重影响网站的信誉度,今天我们就来聊聊将分享如何免费将http升级成https

申明:本博文是基于阿里云的ssl

申请ssl证书

ssl证书申请传送门 这本经典的书籍中有一套关于软件设计的SOLID原则,SOLID 实际上是五个设计原则首字母的缩写,它们分别是:

img.png

购买证书的时候可以绑定你的域名,然后点击验证, 成功后,阿里云服务器会给你的域名自动添加一条解析记录
img.png

下载证书

本文以nginx为例,其他服务器的可以参考阿里云对应的文档

img.png
img.png

下载是一个压缩包,压缩包里面有两个文件:xxx.pem, xxx.key

上传证书

登录云服务器,进入Nginx的安装目录,比如我的安装目录为 /etc/nginx.

新建一个cert目录用于存放刚才下载的证书

1
2
cd /etc/nginx
mkdir cert

将证书上传到/etc/nginx/cert 目录下

修改 nginx.conf文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
listen 443;
# 你的域名
server_name your-domain.com;
ssl on;
root /var/www/html;
index index.html index.htm;
# 你的证书的名字
ssl_certificate /etc/nginx/cert/xxx.pem;
#你的证书的名字
ssl_certificate_key /etc/nginx/cert/xxx.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 / {
index index.html index.htm;
}
}
server {
listen 80;
# 你的域名
server_name your-domain.com;
# 把http的域名请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}

验证nginx配置是否有误

1
nginx -t

返回以下内容代表 nginx.conf 文件无误

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新启动nginx

1
nginx -s reload

ok,所有的配置完成,接下来就是见证奇迹的时候,浏览器输入域名,点击enter,域名前面加锁了代表https生效

img.png

注意:免费的ssl证书有效期是1年,如果需要长期维护的域名,记得每年更换证书哦

学习交流

如果你觉得文章有帮助,请帮忙转发给更多的好友,或关注公众号:猿java,持续输出硬核文章。

drawing