Let's Encrypt免费通配符 SSL 证书申请教程
Posted latiaoyuebu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Let's Encrypt免费通配符 SSL 证书申请教程相关的知识,希望对你有一定的参考价值。
1.下载客户端,设置可执行权限;
# 下载 Certbot 客户端 (Centos6以上 先安装epel)
$ wget https://dl.eff.org/certbot-auto
# 设为可执行权限
$ chmod a+x certbot-auto
2. 申请通配符证书,效验域名所有权;
$ ./certbot-auto certonly -d "*.xxx.com" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
实例:
$ ./certbot-auto certonly -d "*.zhangyuqing.me" -d "zhangyuqing.me" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
注释:
certonly 表示插件,Certbot 有很多插件。不同的插件都可以申请证书,用户可以根据需要自行选择。 -d 为哪些主机申请证书。如果是通配符,输入 *.xxx.com (根据实际情况替换为你自己的域名)。 –preferred-challenges dns-01,使用 DNS 方式校验域名所有权。 –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。
输入邮箱
上述有两个交互式的提示:
是否同意 Let‘s Encrypt 协议要求
询问是否对域名和机器(IP)进行绑定
确认同意才能继续。
3 添加DNS TXT记录生成 SLL;(在没有确认 TXT 记录生效之前不要回车执行; 要求配置 DNS TXT 记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。)
#登录服务器 登录控制台 获取记录值
$ dig -t txt _acme-challenge.newyingyong.cn @8.8.8.8
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;_acme-challenge.newyingyong.cn. IN TXT
;; ANSWER SECTION:
_acme-challenge.newyingyong.cn. 599 IN TXT "记录值"
确认生效后,回车继续执行,最后会输出内容:
4.校验证书信息,输入如下命令:
$ openssl x509 -in /etc/letsencrypt/live/xxx.com/cert.pem -noout -text
5.修改 apache配置
Apache在生成证书后也需要修改一下apache的配置文件 /usr/local/apache/conf/httpd.conf ,查找httpd-ssl将前面的#去掉。
然后再执行:
Apache 2.4如下:
cat >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
SSLProxyCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
Mutex sysvsem default
SSLStrictSNIVHostCheck on
EOF
并在对应apache虚拟主机配置文件的最后</VirtualHost>下面添加上SSL部分的配置文件:
<VirtualHost *:443>
DocumentRoot /home/wwwroot/www.vpser.net #网站目录
ServerName www.vpser.net:443 #域名
ServerAdmin [email protected] #邮箱
ErrorLog "/home/wwwlogs/www.vpser.net-error_log" #错误日志
CustomLog "/home/wwwlogs/www.vpser.net-access_log" common #访问日志
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.vpser.net/fullchain.pem #改一下里面的域名就行
SSLCertificateKeyFile /etc/letsencrypt/live/www.vpser.net/privkey.pem #改一下里面的域名就行
<Directory "/home/wwwroot/www.vpser.net"> #网站目录
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
Let‘s Encrypt 官网https://certbot.eff.org/
以上是关于Let's Encrypt免费通配符 SSL 证书申请教程的主要内容,如果未能解决你的问题,请参考以下文章
Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???
centos+nginx申请Let's Encrypt 通配符HTTPS证书