CentOS7免费SSL证书Let’s Encrypt教程

1、安装epel源和Certbot客户端(选择一种)

yum -y install epel-release
yum -y install certbot-apache #apache提供web服务
yum -y install certbot-nginx #nginx提供web服务

2、获取证书(选择一种)

certbot --apache -d ifshow.com -d www.ifshow.com #apache提供web服务
certbot --nginx -d ifshow.com -d www.ifshow.com #nginx提供web服务

在 /etc/letsencrypt/live/ 会生成对应域名ifshow的文件夹,里面有指向证书的快捷方式。

注意:域名A记录正确解析到服务器IP,并且web服务配置正确,网站可以正常访问(80和443端口均可)。

3、在站点添加ssl证书,nginx为例:

server {
 server_name ifshow.com www.ifshow.com;
 listen 443;
 ssl on;
 ssl_certificate /etc/letsencrypt/live/ifshow.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/ifshow.com/privkey.pem;
 ...

4、获得证书只有3个月有效期,可以通过cron定期自动更新证书:

yum -y install cronie
systemctl start crond.service
systemctl enable crond.service
crontab -e

添加一行(每个月1号凌晨2:30自动执行证书强制更新操作)后保存退出。

30 2 1 * * certbot renew --renew-by-default --quiet

CentOS7免费SSL证书Let’s Encrypt教程》上有8个想法

  1. 我在生成证书的时候

    Waiting for verification…
    Cleaning up challenges
    Failed authorization procedure. xxx.xxx.cn (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://xxx.xxx.cn/.well-known/acme-challenge/5vo0TVEuIagsjJ5Z3o0s9Kpvbi2I4Mz21hyg3SB3y2c: ”
    404 Not Found

    404 Not Found

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: xxx.xxx.cn
    Type: unauthorized
    Detail: Invalid response from
    http://xxx.xxx.cn/.well-known/acme-challenge/5vo0TVEuIagsjJ5Z3o0s9Kpvbi2I4Mz21hyg3SB3y2c:

    404 Not Found

    404 Not Found

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain

    • 原文已更新,分为apache和nginx两种情况,验证问题需要注意:域名A记录正确解析到服务器IP,并且web服务配置正确,网站可以正常访问(80和443端口均可)。

      • 现在用新的指令报这个错误[root@iZ2ze33l0ge76sqhm1phzmZ ~]# certbot –nginx -d http://www.l***.cn
        Saving debug log to /var/log/letsencrypt/letsencrypt.log
        The nginx plugin is not working; there may be problems with your existing configuration.
        The error was: NoInstallationError(“Could not find a usable ‘nginx’ binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly.”,)

        • 你用的不是nginx吧,改成apache试试。另外好像国内阿里云等主机不支持Let’s Encrypt。

  2. 有个情况十分无解,install certbot时,需要一个依赖包python-urllib3,yum仓库中的版本太低无法使用,pip安装的又不能用

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据