使用阿里云免费CA证书实现全站https

前言

首先,科普下https是什么,这是百度百科上对它的描述:

HTTPS简介

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

说白了就是https就是比http多了个安全性,当然,我是觉得它比较有逼格,因为安装了ssl证书后,你的域名在浏览器上是这样的:

瞬间高大上了有木有?好了,不多BB,直接进入正题。。

申请步骤

1.首先,你需要去阿里云官网注册一个账号,然后进入到控制台,找到安全云盾CA证书,如下图:
阿里云https证书

2.点击进去后,找到购买证书链接,进入购买页面,然后选择免费DV证书进行购买,如下图:
阿里云https证书

3.购买成功后返回上一页可在我的订单中看到你的订单情况,点击“进度”进行下一步操作,并按照官网提示进行操作:

4.所有步骤完成后,你的订单大概会在十几分钟后审核成功,此时你的订单证书状态变为已签发,点击下载按钮:

5.再通过scp命令将下载好的压缩文件传到你的服务器,通过unzip解压到nginx根目录

6.最后通过修改nginx配置,将下述配置copy到你的nginx.conf
[cc lang="bash"]server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214304942520477.pem;
ssl_certificate_key cert/214304942520477.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 / {
root html;
index index.html index.htm;
}
}[/cc]
重启nginx就可以了,ps:你服务器的443端口必须是开放的,最后在你web配置的nginx配置里加一条301重定向就可以实现全站https了,赶紧试试吧。。

Leave a Reply

Your email address will not be published. Required fields are marked *