{{item}}
{{item.title}}
{{items.productName}}
{{items.price}}/年
{{item.title}}
部警SSL证书可实现网站HTTPS加密保护及身份的可信认证,防止传输数据的泄露或算改,提高网站可信度和品牌形象,利于SEO排名,为企业带来更多访问量,这也是网络安全法及PCI合规性的必备要求
前往SSL证书Certbot 是一款由 Electronic Frontier Foundation(电子前线基金会,简称 EFF)开发的开源工具,主要用于自动获取和更新Let’s Encrypt颁发的SSL/TLS证书,能极大地简化多域名SSL证书的申请流程。下面将详细介绍使用 Certbot 申请多域名SSL证书的具体步骤。
1. 确保服务器环境满足要求:Certbot 支持多种操作系统,如常见的 Ubuntu、Debian、CentOS 等。在开始申请前,需确认服务器操作系统已正确安装且能正常运行,同时服务器具备公网 IP 地址,并且该 IP 地址已正确解析到对应的域名。
2. 确认域名解析已完成:将需要申请SSL证书的多个域名都正确解析到服务器的 IP 地址上。可通过 ping 命令或在线域名解析查询工具,检查域名是否解析正常。例如,对于域名example1.com、example2.com等,确保它们都指向了服务器的 IP。若解析不正确,Certbot 将无法通过域名验证,进而无法申请到证书。
3. 安装 Certbot:不同操作系统安装 Certbot 的方式有所差异。
1 sudo apt update
然后安装 Certbot,对于 Nginx 服务器,还需安装 Certbot 的 Nginx 插件:
1 sudo apt install certbot python3-certbot-nginx
1 sudo yum install epel - release
再安装 Certbot 及 Nginx 插件(若使用 Nginx 服务器):
1 sudo yum install certbot python2 - certbot - nginx
1. 执行 Certbot 申请命令:在终端中,使用以下命令申请多域名SSL证书。以使用 Nginx 服务器为例,假设要申请证书的域名为example1.com、example2.com和example3.com,命令如下:
1 sudo certbot --nginx -d example1.com -d example2.com -d example3.com
上述命令中,--nginx参数表示 Certbot 将自动配置 Nginx 服务器使用申请到的证书。-d参数用于指定需要申请证书的域名,可根据实际情况添加多个域名。若使用 Apache 服务器,则将--nginx替换为--apache。
2. 输入邮箱并同意条款:执行上述命令后,Certbot 会提示输入邮箱地址,用于接收证书过期提醒等重要通知。输入有效的邮箱地址后回车,接着会显示Let’s Encrypt的服务条款,输入Y同意条款,Certbot 将继续进行证书申请流程。
3. 选择 HTTPS 配置选项(可选):在某些情况下,Certbot 可能会询问是否要将 HTTP 流量自动重定向到 HTTPS。若选择重定向,用户访问网站的 HTTP 版本时,会自动跳转到 HTTPS 版本,增强网站的安全性。可根据实际需求选择2(重定向)或1(不重定向)。
1. 域名验证:Certbot 会通过特定的验证机制来确认你对所申请域名的所有权。常见的验证方法有 HTTP - 01 和 DNS - 01。
2. 证书安装:如果域名验证成功,Certbot 会从Let’s Encrypt服务器获取SSL证书,并自动将证书安装到服务器的 Web 服务器(如 Nginx、Apache)配置中,使其能够使用 HTTPS 协议提供服务。默认情况下,Certbot 会将证书文件保存到/etc/letsencrypt/live/域名/目录下,其中域名为你申请证书的具体域名。例如,对于example1.com,证书文件路径为/etc/letsencrypt/live/example1.com/,该目录下包含cert.pem(证书文件)、privkey.pem(私钥文件)等重要文件。
Let’s Encrypt 颁发的SSL证书有效期通常为 90 天,为了确保证书不会过期导致网站无法正常访问,需要设置自动续期。Certbot 提供了自动续期功能,可通过以下方式进行设置:
1. 检查自动续期配置:在大多数系统中,Certbot 会自动配置一个定时任务(cron job)或 systemd 定时器来定期检查证书的有效期,并在证书即将过期(一般为到期前 30 天内)时自动续期。可通过以下命令检查自动续期任务是否已正确配置:
1 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && /usr/bin/certbot renew --quiet
该任务表示每天的 0 点和 12 点,系统会检查 Certbot 是否可执行,并且在随机延迟一段时间(0 - 12 小时内)后,执行certbot renew --quiet命令来自动续期证书。--quiet参数用于减少命令执行时的输出信息,只在有重要事件时通知用户。
1 systemctl status certbot.timer
若显示active (running),则表示 systemd 定时器已正常运行,会按照预定时间触发certbot renew命令来续期证书。
2. 手动测试续期:在设置好自动续期后,建议手动测试一次续期过程,确保续期功能正常。执行以下命令进行测试:
1 sudo certbot renew --dry - run
--dry - run参数表示模拟续期过程,不会实际更新证书。如果模拟续期过程没有报错,且显示类似 “Congratulations, all renewals succeeded” 的信息,则说明自动续期功能配置正确。若测试过程中出现错误,需根据错误提示排查问题,常见的问题包括网络连接问题、域名解析异常、Web 服务器配置错误等。
2. Certbot 无法找到 Web 服务器的可执行文件:这种情况通常发生在系统路径设置不正确或 Web 服务器未正确安装的情况下。
1 which nginx
若返回 Nginx 的安装路径,则说明路径设置正确;若未找到,需将 Nginx 的安装路径添加到系统环境变量中。
1 sudo apt - get remove python3 - certbot - nginx
然后重新安装:
1 sudo apt - get install python3 - certbot - nginx
在 CentOS 系统中,使用以下命令卸载:
1 sudo yum remove python2 - certbot - nginx
重新安装:
1 sudo yum install python2 - certbot - nginx
通过以上详细步骤,你可以使用 Certbot 顺利申请多域名SSL证书,并确保证书的自动续期功能正常运行,为多个域名的网站提供安全可靠的 HTTPS 加密访问。在操作过程中,若遇到问题,可参考常见问题及解决方法进行排查和解决。
Dogssl.cn拥有20年网络安全服务经验,提供构涵盖国际CA机构Sectigo、Digicert、GeoTrust、GlobalSign,以及国内CA机构CFCA、沃通、vTrus、上海CA等数十个SSL证书品牌。全程技术支持及免费部署服务,如您有SSL证书需求,欢迎联系!