我是靠谱客的博主 勤恳黑猫,这篇文章主要介绍Let‘s Encrypt 证书申请及配置,现在分享给大家,希望可以做个参考。

简介

Let's Encrypt —— 是一个由非营利性组织 互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA),简单的说,就是为网站提供免费的 SSL/TLS 证书。

 

签发工具

Let's Encrypt 生成证书的工具很多,certbot 是官方推荐的签发工具,也可以通过在线服务申请。

在线一站式服务管理方便,但可能需要绑定业务,个人用户还是推荐通过工具生成证书。
这里推荐 acme.sh,它不仅有详细的中文文档,操作更为方便,还支持 Docker。

安装

复制代码
1
curl https://get.acme.sh | sh

这个操作会做3三件事:

1. 生成一个acme.sh的拷贝在home路径下 ~/.acme.sh/,所有的证书信息也都在这里了

2. 生成一个alias别名 acme.sh=~/.acme.sh/acme.sh.

3. 生成一个每日作务去检查并更新证书(证收的有效期是60天),这一步在新的版本里可以跳过,应该是帮你做好了(可以通过'crontab -l'命令查看)

复制代码
1
0 0 * * * "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null

CentOS7 实测alias不生效,要执行一下source ~/.bashrc

测试安装成功可以用这个命令

复制代码
1
acme.sh --list

申请证书

复制代码
1
acme.sh --issue -d example.com -d www.example.com -w /home/wwwroot/example.com

简单说一下,acme.sh 有很多种申请证书的方式,上面写得如果你已经有一个在运行的server,-w 后跟的就是这个

server的根目录,前面-d 后面跟的是要申请证书的域名,可以是多个,第一个是主域名。

还有很多方式,可以在github上看到,地址在这里

https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert

我用的是standalone方式,这个方式要求服务器的80端口可用,也可以指定别的端口,命令在上面的地址里都有。

复制代码
1
acme.sh --issue -d example.com -d www.example.com --standalone --httpport 88

安装证书

复制代码
1
2
3
acme.sh --install-cert -d example.com --key-file /path/to/keyfile/in/nginx/mydomain.key --fullchain-file /path/to/fullchain/in/nginx/fullchain.cer

我用的nginx,要安装两个证书,nginx路在docker容器里,可以直接安装到你mount的文件夹里,之后在nginx的配置文件里指定一下证书的位置就可以了。

nginx配置

复制代码
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
server { listen 80; server_name example.com; # 重定向到 https rewrite ^(.*)$ https://$server_name$1 permanent; } server { listen 443; server_name example.com www.example.com; root /yout/server/root/; index index.html index.htm; access_log /dev/null; error_log /websvr/log/nginx/mydomain.com.error.log warn; # SSL 配置 ssl on; ssl_certificate /websvr/ssl/fullchain.cer; # 证书文件 ssl_certificate_key /websvr/ssl/mydomain.key; # 私钥文件 ssl_session_timeout 5m; # 会话缓存过期时间 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 开启 SSL 支持 ssl_prefer_server_ciphers on; # 设置协商加密算法时,优先使用服务端的加密套件 }

之后重启nginx的docker容器证书才被加载,'service nginx reload'不好使

 

最后

以上就是勤恳黑猫最近收集整理的关于Let‘s Encrypt 证书申请及配置的全部内容,更多相关Let‘s内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部