首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >换个方式安装 Let’s Encrypt

换个方式安装 Let’s Encrypt

作者头像
上山打老虎了
发布2022-06-14 18:10:47
发布2022-06-14 18:10:47
6680
举报
文章被收录于专栏:ArticleArticle

OSError: Command /home/administrator/…ncrypt/bin/python2.7 – setuptools pkg_resources pip wheel failed with error code 2

之前没有碰到过这个问题,不论是 14.0 还是 16.0 的 Ubuntu 版本,今天在腾讯云上出现了,而且重装系统,两个操作系统版本上都遇到这个问题,google无解。

certbot的 issue 里也有人提了相似的状况,不过试了里面的几种解决办法也不行,而且作者对此也暂时没有解决方案。

好在网上找到了另一种方法:

调用 acme_tiny.py 认证、获取、更新证书,不需要额外的依赖。

下载到本地

代码语言:javascript
复制
wget https://raw.githubusercontent.com/carpliyz/Lets-encrypt/master/letsencrypt.conf
wget https://raw.githubusercontent.com/carpliyz/Lets-encrypt/master/letsencrypt.sh
chmod +x letsencrypt.sh

修改配置文件 letsencrypt.conf

只需要修改 DOMAIN_KEY DOMAIN_DIR DOMAINS 为你自己的信息

代码语言:javascript
复制
ACCOUNT_KEY="letsencrypt-account.key"
DOMAIN_KEY="noxxxx.com.key"
DOMAIN_DIR="/home/wwwroot/noxxxx.com"
DOMAINS="DNS:noxxxxe.com,DNS:www.noxxxx.com"
#ECC=TRUE
#LIGHTTPD=TRUE

执行过程中会自动生成需要的 key 文件。其中 ACCOUNT_KEY 为账户密钥, DOMAIN_KEY 为域名私钥, DOMAIN_DIR 为域名指向的目录,DOMAINS 为要签的域名列表, 需要 ECC 证书时取消 #ECC=TRUE 的注释,需要为 lighttpd 生成 pem 文件时,取消 #LIGHTTPD=TRUE 的注释。

运行

代码语言:javascript
复制
./letsencrypt.sh letsencrypt.conf

注意

你的域名要配好 DNS 通过域名访问到到 /home/wwwroot/noxxxx.com 目录,用于域名的验证

将会生成如下几个文件

代码语言:javascript
复制
lets-encrypt-x3-cross-signed.pem
example.chained.crt # 即网上搜索教程里常见的 fullchain.pem
example.com.key # 即网上搜索教程里常见的 privkey.pem
example.crt
example.csr

在 nginx 里添加 ssl 相关的配置 这里不是pem的文件,所以不要傻傻的去找了

代码语言:javascript
复制
ssl_certificate /path/to/cert/example.chained.crt;
ssl_certificate_key /path/to/cert/example.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-SHA384:ECDHE-RSA-:ECDHE:!DES:!3DES:!MD5:!DSS:!PKS;
ssl_session_cache builtin:1000 shared:SSL:10m;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

cron 定时任务

每个月自动更新一次证书,可以在脚本最后加入 service nginx reload等重新加载服务。

代码语言:javascript
复制
0 0 1 * * /etc/nginx/certs/letsencrypt.sh /etc/nginx/certs/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年03月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档