准备工作
mkdir / root / letsencrypt / var / www / letsencrypt
cd / root / letsencrypt
我们将使用acme_tiny库。您可以使用任何其他库
wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
我们生成一个标识符密钥
openssl genrsa 4096> /root/letsencrypt/account.key
 Nginx中虚拟主机设置中的“添加到服务器”部分
location /.well-known/acme-challenge/ {
     别名/ var / www / letsencrypt /;
     try_files $ uri = 404;
 }
 测试中
 回声“测试” >> /var/www/letsencrypt/test.txt
 并在浏览器中检查
http://domain.com/.well-known/acme-challenge/test.txt
 创建私钥,请求证书并创建证书
 生成私钥
openssl genrsa 4096> /root/letsencrypt/domain.com.key
我们使用证书的设置创建一个文件,在其中指定我们的电子邮件以及域名
cat << EOF > /root/letsencrypt/domain.com.txt
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C=RU
emailAddress=info@domain.com
CN = domain.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
 DNS.1 = domain.com
 DNS.2 = www.domain.com
 EOF
 创建一个请求 
openssl req -new -sha256 -key /root/letsencrypt/domain.com.key \
-nodes -out /root/letsencrypt/domain.com.csr \
-config /root/letsencrypt/domain.com.txt
并运行我们下载的库以获取证书
python acme_tiny.py –account-key /root/letsencrypt/account.key \
 –csr /root/letsencrypt/domain.com.csr \
 –acme-dir / var / www / letsencrypt /> /root/letsencrypt/domain.com.crt
 更新脚本
 可以将此脚本添加到cron计划程序中,以自动接收证书。
 cat << EOF > renew_cert.sh
#!/bin/bash
python acme_tiny.py –account-key /root/letsencrypt/account.key \
–csr /root/letsencrypt/domain.com.csr \
–acme-dir /var/www/letsencrypt/ > /root/letsencrypt/domain.com.new || exit
mv /root/letsencrypt/domain.com.new /root/letsencrypt/domain.com.crt
service nginx reload
EOF

