用户工具

站点工具


letsencrypt:letsencrypt.sh_http-01

轻量级的 letsencrypt.sh (HTTP-01篇)

letsencrypt.sh 是个非常轻量级的 Let's Encrypt 客户端. 本身用 bash 来写, 经过修改也可以用 zsh.

优点

  • 支持 HTTP-01 和 DNS-01 验证
  • 支持自动签名多个域名(domain.txt)
  • 支持签名CSR
  • 支持续约即将到期的证书或者修改子域名(SAN)后的证书
  • 吊销证书
  • 没有其他太多的依赖.

安装方法

FreeBSD下面就直接ports安装吧, 可选使用 bash 或者 zsh. 我是选了zsh.

cd /usr/ports/security/letsencrypt.sh
make install clean

使用方法

letsencrypt.sh 配置

ports 安装的配置文件在 /usr/local/etc/letsencrypt.sh/

  • 将 config.sh.example 复制一份并重命名为 config.sh
cd /usr/local/etc/letsencrypt.sh
cp config.sh.example config.sh
  • 修改 config.sh 中的 BASEDIR 为 /usr/local/etc/letsencrypt.sh , 并去掉行前的注释.
BASEDIR=/usr/local/etc/letsencrypt.sh
  • 编辑 domains.txt 新增要签发的域名
hshh.org www.hshh.org
test.hshh.org

nginx 配置

在对应的域名配置下增加或修改. domains.txt 里面有多少个域名就要做多少个域名, 不管是不是SAN的.

location /.well-known/acme-challenge {
	alias		/usr/local/etc/letsencrypt.sh/.acme-challenges;
	default_type	text/plain;
}

配置好后重载nginx: service nginx reload

签发证书

直接运行 letsencrypt.sh -c 即可

证书使用

成功签发的证书将放在 /usr/local/etc/letsencrypt.sh/certs 下对应的域名目录, 如果是SAN证书, 则以行首第一个域名命名.

一般只需要使用 fullchain.pem 和 privkey.pem

nginx 的 ssl 配置

ssl_certificate		/usr/local/etc/letsencrypt.sh/certs/hshh.org/fullchain.pem;
ssl_certificate_key	/usr/local/etc/letsencrypt.sh/certs/hshh.org/privkey.pem;
letsencrypt/letsencrypt.sh_http-01.txt · 最后更改: 2016/02/23 15:11 由 Hshh