通配符 ssl,通配符证书申请免费
众所周知从某些公司购买安全超文本传输协议证书,一个域名每年都要几千个大洋(不是一般的黑)。那么有没有免费,答案是有。现隆重推荐(Let’s Encrypt 免费证书)
雇主联合会电子前哨基金会、Mozilla基金会和美国密歇根大学成立了一个公益组织叫ISRG(互联网安全研究小组)、这个组织从2015 年开始推出了让我们加密免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用让我们加密提供的免费证书部署安全超文本传输协议了。
让我们加密证书除了免费,还支持域名通配符或泛域名。好东西必须分享,走起。
准备工作
安装下载
以centos7为例
下载的官方网站是https://certbot.eff.org/,打开这个链接选择自己使用的网络服务器和操作系统,EFF官方会给出详细的使用方法。
下载certbot
https://dl.eff.org/certbot-autochmod自动机器人注意:也可采用下载官方妙的安装方式
申请通配符域名。/cert bot-auto certon ly-d *。举例。com-manual-preferred-challenges DNS-server https://acme-v02.api.letsencrypt.org/directory当然你也可以将多个泛域名,放到一个证书里(亲测可行),将example.com换成你自己的域名。/cert bot-auto certon ly-d *。举例。com-d *。a . com-manual-preferred-challenges DNS-server https://acme-v02.api.letsencrypt.org/directory这里我只用了一个泛域域名
执行以上命令得到如下
依次输入你的邮箱
再输入" A "同意,“Y”开始
最后出现如下图,此处先不动,很重要。
配置DNS
要求配置域名服务器(Domain Name Server)文本记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。
给_acme-challenge.example.com配置一条文本文件(文本文件)记录。
以阿里云上的域名为例,添加一条文本文件(文本文件)记录:测试txt记录是否生效
$ dig-t txt _ acme-challenge。举例。com @ 8。8 .8 .8;选择伪截面:EDNS:版本:0,标志:UDP:512;问题部分:_ acme-挑战。举例。com。在TXT中;回答部分:_ acme-挑战。举例。com。599英寸长 KD 9 kdjjxh 8 nyz 2 uneviibw 52 lhiqxkg 6 I 9 mcwsrvhq 确认生效后,回车执行,输出如下:
恭喜您,证书申请成功,证书和密钥保存在下列目录:
ll/etc/let加密/live/example。com lrwxrwxrwx 1 root root 35 Jun 1 14:43 cert。PEM-././存档/对尼娅。com/cert 1。pemlrwxrwxrwx 1根36 Jun 1 14:43链。PEM-././存档/对尼娅。com/chain 1。pemlrwxrwxrwx 1根40 Jun 1 14:43全链条。PEM-././存档/对尼娅。com/全链1。pemlrwxrwxrwx 1 root 38 Jun 1 14:43 privkey。PEM-././存档/对尼娅。com/privkey 1。PrivacyEnhancedMail增强的私密电子邮件然后校验证书信息,输入如下命令:
OpenSSL x509-在/etc/lets中加密/存档/示例。com/cert 1。PEM-noout-text如果输出中有
X509v3主题替代名称:DNS:*.example.com证明成功
也可以同过。/证书机器人-自动证书
配置Nginx
服务器{服务器名www.example.com;监听443 http2 sslssl打开;SSL _ certificate/etc/lets encrypt/live/example。com/全链条。PEMSSL _ certificate _ key/etc/let加密/live/example。com/privkey。PEM# access _ log日志/主机。访问。日志总管;root/var/www/demo;位置/{索引index.htmlindex.htmindex.phpl.php;自动索引关闭;} #代理服务器端编程语言(Professional Hypertext Preprocessor的缩写)脚本到街头流氓监听127 . 0 . 0 . 1:80 # #地点~ \ .PHP $ { # proxy _ pass http://127。0 .0 .1;#} #将服务器端编程语言(Professional Hypertext Preprocessor的缩写)脚本传递给FastCGI服务器监听127.0.0.1:9000 #位置~ \。php(.*)$ { fastcgi _ pass 127。0 .0 .1:9000;fastcgi _ index index.php;fastcgi _ param SCRIPT _ FILENAME $ document _ root $ fastcgi _ SCRIPT _ name;包括fastcgi _ params} }证书续期
一般让我们加密证书有效期为3个月,如果想续期执行如下命令。/certbot-auto renew如果太麻烦,可以把它写进一个定时任务,每天执行一次。
crontab-e00 * * */root/tar/cert bot-auto renew-renew-hook system CTL reload nginx 续费说明:如果只使用renew,会先检查证书是否需要续费,大概会在到期前三、十天,否则会提示不需要续费。(昨天更新了证书,今天直接用renew,提示不允许更新)
注意:人有时候会头晕。例如,你不放开443端口,想访问HTTPS网站。
错误解决方案
如果执行续订,则
ReadTimeoutError:https connection pool(host= files . python hosted . org ,port=443):读取超时。
这是由于pip下载国内站点超时或限制造成的,可以通过配置pip.conf解决
Vim /root/。pip/pip . conf # content[global]time out=6000 index-URL=http://e.pypi.python.org/simpletrusted-host=pypi.douban.com。同时推荐一个好的开源项目,可以免费获得HTTPS证书。易于安装和自动更新。
https://github.com/Neilpang/acme.sh
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。