===== 试用dehydrated来获取 Let's Encrypt 的证书 (HTTP-01篇) ===== [[https://github.com/lukas2511/dehydrated|dehydrated]] 是个非常轻量级的 Let's Encrypt 客户端. 可以使用 Bash 也可以使用 Zsh. ==== 优点 ==== * 支持 HTTP-01 和 DNS-01 验证 * 支持自动签名多个域名(domain.txt) * 支持签名CSR * 支持续约即将到期的证书或者修改子域名(SAN)后的证书 * 吊销证书 * 没有其他太多的依赖. ==== 安装方法 ==== FreeBSD下面就直接ports安装吧, 可选使用 bash 或者 zsh. 我是选了zsh. cd /usr/ports/security/dehydrated make install clean ==== 使用方法 ==== === dehydrated 配置 === ports 安装的配置文件在 /usr/local/etc/dehydrated/ * 修改 config 中的 BASEDIR 为 /usr/local/etc/dehydrated , 并去掉行前的注释. BASEDIR=/usr/local/etc/dehydrated * 修改 config 中的 CONTACT_EMAIL 为 你的EMAIL地址, 并去掉行前的注释. 当证书快过期时, 会收到提醒邮件. * 编辑 domains.txt 新增要签发的域名 hshh.org www.hshh.org test.hshh.org === nginx 配置 === 在对应的域名配置下增加或修改. domains.txt 里面有多少个域名就要做多少个域名, 不管是不是SAN的. location /.well-known/acme-challenge { alias /usr/local/www/dehydrated; default_type text/plain; } 配置好后重载nginx: service nginx reload ==== 签发证书 ==== 直接运行 dehydrated -c 即可 ==== 证书使用 ==== 成功签发的证书将放在 /usr/local/etc/dehydrated/certs 下对应的域名目录, 如果是SAN证书, 则以行首第一个域名命名. 一般只需要使用 fullchain.pem 和 privkey.pem === nginx 的 ssl 配置 === ssl_certificate /usr/local/etc/dehydrated/certs/hshh.org/fullchain.pem; ssl_certificate_key /usr/local/etc/dehydrated/certs/hshh.org/privkey.pem;