共计 1752 个字符,预计需要花费 5 分钟才能阅读完成。
Let’s Encrypt 是一个开源免费的 SSL 证书项目,是由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起的,现由 Linux 基金会托管。
这篇博文分享的是使用 letsencrypt 成功在 Linux Ubuntu 上生成 ssl 证书的操作步骤。
1、安装 letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help
2、生成私钥
openssl genrsa 4096 > x.cnblogs.com.key
3、生成 CSR(Certificate Signing Reqeust)
openssl req -new -sha256 \
-key x.cnblogs.com.key \
-subj "/C=CN/ST= 省份 /L= 城市 /O= 部门 /OU= 公司 /CN=x.cnblogs.com" \
-reqexts SAN \
-outform der \
-config <(cat /etc/ssl/openssl.cnf \
<(printf "[SAN]\nsubjectAltName=DNS:x.cnblogs.com")) \
-out x.cnblogs.com.csr
4、向 letsencrypt 服务器发起获取证书的请求
./letsencrypt-auto certonly \
--authenticator manual \
--server https://acme-v01.api.letsencrypt.org/directory --text \
--email x@cnblogs.com \
--csr x.cnblogs.com.csr
在出现”Press ENTER to continue“时,不要动,进行下一步操作。
5、验证证书对应域名的所有权
如果对应的站点已经在运行,可以创建这样的 URL:/.well-known/acme-challenge/xxx,以便 letsencrypt 服务器可以访问这个 URL 进行验证。
如果没有对应的站点,可以用 Python 临时运行 Web 站点进行验证,参考下面的提示:
Make sure your web server displays the following content at
http://x.cnblogs.com/.well-known/acme-challenge/xxx before continuing:
xxxxxx...
If you don't have HTTP server configured, you can run the following
command on the target server (as root):
mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge
cd /tmp/letsencrypt/public_html
printf "%s" xxxxxx... > .well-known/acme-challenge/xxx
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
6、回到第 4 步的操作窗口按回车键,如果证书成功创建,会出现下面的提示:
- Congratulations! Your certificate and chain have been saved at ...
然后在当前文件夹中就会看到扩展名为.pem 的证书文件。
0000_cert.pem
WordPress 为所有博客启用 HTTPS 加密,采用 Let’s Encrypt 证书 http://www.linuxidc.com/Linux/2016-04/129988.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132138.htm