主页 如何免费将http升级成https?
文章
取消

如何免费将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

SOLID设计原则系列之--单一职责原则

DynamoDB系列之--本地二级索引