welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ群:162333776 邮箱:admin@xlongwei.com

letsencrypt 终于用上免费的通配符域名证书


分类 Server   关键字 分享   标签 web   linux   nginx   发布 hongwei  1527086722462
注意 转载须保留原文链接,译文链接,作者译者等信息。  
早就知道letsencrypt支持免费证书,最近又开始支持通配符证书,certbot-auto尝试了N次都没有成功,主要还是因为系统太旧:Cent OS 5.* + python 2.4.*。还好找到了在线生成证书的网站:https://gethttpsforfree.com/

步骤比较多,但说明很详细,下面列一些命令步骤:

# 私钥
openssl genrsa 4096 > account.key
openssl rsa -in account.key -pubout
# 站点私钥
openssl genrsa 4096 > domain.key
# CSR请求
openssl req -new -sha256 -key domain.key -subj "/" \
      -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf \
      <(printf "\n[SAN]\nsubjectAltName=DNS:xlongwei.com,DNS:*.xlongwei.com"))
# 第三步命令很长,分别是:接受letsencrypt协议条款,更新账户邮箱,创建证书请求
# 第四步验证域名拥有权,添加TXT记录,停止80服务并运行指定python2命令,请求生成证书
nginx -s quit
sudo python2 -c "import BaseHTTPServer; \
    h = BaseHTTPServer.BaseHTTPRequestHandler; \
    h.do_GET = lambda r: r.send_response(200) or r.end_headers() or r.wfile.write('S4......Q'); \
    s = BaseHTTPServer.HTTPServer(('0.0.0.0', 80), h); \
    s.serve_forever()"
# 第五步安装证书,保存证书文本为chained.pem。
建议不运行dhparam那条命令,运行很久都没有完成,openssl dhparam -out dhparam.pem 4096。
    ssl_certificate /etc/ssl/certs/chained.pem;
    ssl_certificate_key /etc/ssl/private/domain.key;