Let’s Encrypt证书申请、阿里云配置Let’s Encrypt证书

一、证书申请

申请入口:https://letsencrypt.osfipin.com/

申请成功,如下:

证书
证书

点击查查,可进行证书的下载

证书下载
证书下载

解压后得到六个文件

证书解压
证书解压

压缩包文件说明

  • private.pem 密钥,可更改后缀为key
  • fullchain.crt 完整证书,可更改后缀为pem
  • certificate.pfx IIS和Tomcat使用,秘钥在detail.txt中
  • certificate.crt 域名证书,一般不用

二、证书安装

登录阿里云控制台,打开SSL证书列表

ssl列表
ssl列表

点击上传证书,将证书文件及私钥进行上传

证书上传
证书上传
证书上传
证书上传

上传完成后,结果如下图,在已签发中可查询的到

证书已签发
证书已签发

阿里云ECS服务器打开443安全组访问规则

安全访问规则
安全访问规则

SSH进入centos服务器,配置NGINX关于 HTTPS 配置,脚本如下:

  • 在NGINX 配置目录conf下创建文件夹cert

    1
    mkdir cert
  • 上传申请免费域名的证书及秘钥文件,即fullchain.crtcert/private.pem

  • 编辑nginx.conf文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# HTTPS server
server {
listen 443 ssl http2;
server_name 你的域名;

ssl_certificate cert/fullchain.crt;
ssl_certificate_key cert/private.pem;

ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

location / {
root html;
index index.html index.htm;
}
}
  • 检查NGINX配置文件是否编辑正确,重启NGINX
1
2
3
4
5
6
7

▶ ./nginx -t
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful


▶ ./nginx -s reload

centos开放443端口,重启防火墙

1
2
3
4
5

▶ firewall-cmd --add-port=443/tcp --permanent


▶ firewall-cmd --reload

到这,安心的放你的HTTPS的网站把,已经大功告成。

注意:
在NGINX配置https时,可能会报错找不到 ssl,原因是在安装NGINX时,没有将ssl模块进行安装,该模块依赖于 openssl openssl-devel,安装脚本如下,随后从新编译安装NGINX就可以了。

yum -y install openssl openssl-devel

缺点就是证书只能维持三个月,不是长久,解决方案为使用脚本定时刷新更新证书,但是阿里云还是需要手工进行配置。