Let’s encrypt 的免费 ssl 证书,可以直接使用了,下面是 v2ex 的快速获取脚本,主机百科已经成功使用。
调用 acme_tiny.py 认证、获取、更新证书,不需要额外的依赖。
1、下载文件
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh
2、修改 letsencrypt.conf 文件
ACCOUNT_KEY=”letsencrypt-account.key”
DOMAIN_KEY=”example.com.key”
DOMAIN_DIR=”/var/www/example.com”
DOMAINS=”DNS:example.com,DNS:whatever.example.com”
把 example.com 换成自己的域名,如 zhujiwiki.com
把 /var/www/example.com 改为自己的网站目录
ACCOUNT_KEY=”letsencrypt-account.key”
DOMAIN_KEY=”zhujiwiki.key”
DOMAIN_DIR=”/home/wwwroot/web/zhujiwiki.com”
DOMAINS=”DNS:zhujiwiki.com,DNS:www.zhujiwiki.com”
3、修改 letsencrypt.sh 中 openssl.cnf 的位置
文件的 32 行:/etc/ssl/openssl.cnf
CentOS 目录:/etc/pki/tls/openssl.cnf
debian:不用改
4、SSH 下执行:
yum install python-argparse
chmod +x letsencrypt.sh
./letsencrypt.sh letsencrypt.conf
若出现
Traceback (most recent call last):
File “/tmp/acme_tiny.py”, line 2, in
import argparse, subprocess, json, os, sys, base64, binascii, time, hashlib, re, copy, textwrap, logging
ImportError: No module named argparse
执行命令:
yum install python-argparse
5、配置使用
ssl 文件存放在当前目录下
6、因为 Let’s encrypt 证书 90 天会过期,所有可以执行定时任务。
vi /etc/crontab
加入以下内容:
0 0 1 * * /root/letsencrypt.sh /root/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1
:wq 保存退出。
vi:v2ex