查看完整版本: [-- 在 CentOS 7 安装 Let'sEncrypt 免费SSL安全证书 --]

四四一七九 -> 电脑综合技术应用 -> 在 CentOS 7 安装 Let'sEncrypt 免费SSL安全证书 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

冰天雪地 2022-01-06 18:49
相对来说,个人网站建立SSL是昂贵的,而且往往过程繁琐。一个标准的2048位证书费用至少150美元/年,网站除了要支付一笔昂贵的费用、重新配置Web服务器,并需要解决大量的配置错误。这让广大中小网站望而生畏。
然而,Let's Encrypt免费证书的开放,极大推进了国内 HTTPS 的进程。Let's Encrypt 真正的意义在于,它推动了 HTTPS 在小型网站和个人网站中的应用,加速全面 HTTPS 时代的到来。Let's Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。

非营利组织电子前沿基金会的CertBot是一个很好的工具,我们使用它来安装Let's Encrypt

安装EPEL库,为CertBot提供最新的Python包。

# yum -y install epel-release

下载 CertBot

# yum -y install python-certbot-apache

Apache下配置Let's Encrypt

执行下条命令

# certbot certonly --email 请输入邮箱 --agree-tos --webroot -w 网站根目录 -d 域名 -d 其它域名

生成的证书会存在:/etc/letsencrypt/live/域名/ 目录下

Apache在生成证书后需要修改一下apache的配置文件 /usr/local/apache/conf/httpd.conf ,查找httpd-ssl将前面的#去掉

修改 httpd-ssl.cnf 文件,将文件的
<VirtualHost _default_:443></VirtualHost>中下面两行的证书路径改成刚才生成的证书路径。

SSLCertificateFile /etc/letsencrypt/live/域名/fullchain.pem  
SSLCertificateKeyFile /etc/letsencrypt/live/域名/privkey.pem

如果还要添加另外一个或更多域名,则需要在httpd-ssl.cnf中添加以下两行

NameVirtualHost *:443
SSLStrictSNIVHostCheck off

另外在httpd-ssl.cnf中
<VirtualHost _default_:443></VirtualHost>的下面添加以下内容。

<VirtualHost *:443>

DocumentRoot "/usr/local/www/root"     # 域名根目录
ServerName image.fouzhuo.com:443     # 域名
ServerAdmin you@example.com
# ErrorLog "/usr/local/apache2/logs/error_log"
# TransferLog "/usr/local/apache2/logs/access_log"
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/image.fouzhuo.com/fullchain.pem"     # 生成的对应域名目录下的证书文件
SSLCertificateKeyFile "/etc/letsencrypt/live/image.fouzhuo.com/privkey.pem"     # 生成的对应域名目录下的证书文件

</VirtualHost>

测试自动更新,非真正执行更新

certbot renew --dry-run

证书手动更新

certbot renew -v

查看证书过期时间

certbot certificates

添加定时任务自动更新

echo "0 0 1,8,20 * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

上面的命令是每个月的1,8,20号零点自动检查更新证书,一般在正式过期前30天内可以更新成功。

查看定时任务

cat /etc/crontab



查看完整版本: [-- 在 CentOS 7 安装 Let'sEncrypt 免费SSL安全证书 --] [-- top --]


Powered by PHPWind v6.3.2 Code © 2003-08 PHPWind
Time 0.004458 second(s),query:3 Gzip enabled

You can contact us