记 VestaCP 的 Let’s Encrypt 自助签发配置
主要原料是 https://github.com/interbrite/letsencrypt-vesta 这个脚本。
然后写一个 python 脚本用来给用户自助签发
#!/bin/env python
import sys
import re
import os
import subprocess
args = ["/usr/local/bin/letsencrypt-vesta", "-u", os.environ['SUDO_USER']]
for i in sys.argv[1:]:
if re.match('^[a-z0-9][a-z0-9.-]+$', i):
args.append(i)
subprocess.call(args)
给用户 sudo 权限
%users ALL=NOPASSWD:/usr/local/bin/sign.py
然后让用户执行 sudo /usr/local/bin/sign.py 域名
即可。