利用自动认证脚本来获取 Let’s Encrypt 颁发的SSL证书

脚本链接https://github.com/xdtianyu/scripts/blob/master/lets-encrypt/README-CN.md

首先,下载脚本和配置文件到服务器并修改权限

wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh
chmod +x letsencrypt.sh

接着编辑配置文件的信息

vi letsencrypt.conf
DOMAIN_KEY 修改example.com为自己的域名

DOMAIN_DIR 修改域名指向的目录

DOMAINS 修改为证书保护的域名
ACCOUNT_KEY="letsencrypt-account.key"

DOMAIN_KEY="example.com.key"

DOMAIN_DIR="/var/www/example.com"

DOMAINS="DNS:example.com,DNS:whatever.example.com"

#ECC=TRUE

#LIGHTTPD=TRUE

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

最后运行脚本脚本即可。

./letsencrypt.sh letsencrypt.conf

可以设置一个自动计划任务,实现每个月自动重新获取脚本。

vi /etc/crontab

0 0 1 * * root /脚本所在目录/letsencrypt.sh /配置文件所在目录/letsencrypt.conf

常见错误解决方式

如果出现如下错误信息(yum install python-argparse安装python-argparse再执行即可,如果yum安装不了请手动编译安装):

Traceback (most recent call last):

File "/tmp/acme_tiny.py", line 2, in <module>

import argparse, subprocess, json, os, sys, base64, binascii, time, hashlib, re, copy, textwrap, logging

ImportError: No module named argparse

解决方式

1.yum安装python-argparse:

yum install python-argparse

2.手动安装python-argparse:

wget https://pypi.python.org/packages/source/a/argparse/argparse-1.4.0.tar.gz#md5=08062d2ceb6596fcbc5a7e725b53746f

tar -xzvf argparse-1.4.0.tar.gz

cd argparse-1.4.0

python setup.py install

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注