问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

自动申请免费SSL证书并一键部署

创作时间:
作者:
@小白创作中心

自动申请免费SSL证书并一键部署

引用
CSDN
1.
https://blog.csdn.net/sxf1061700625/article/details/145557474

本文将详细介绍如何使用Certbot工具自动申请Let's Encrypt提供的免费SSL证书,并在Apache服务器上进行一键部署。通过本文,你将学会从证书申请到自动续期的完整流程。

要为Apache申请免费的SSL证书,可以使用Let's Encrypt提供的免费证书,通过Certbot工具来自动化获取和安装证书。

安装教程

1. 安装 Certbot

sudo apt-get update
sudo apt-get install certbot  

2. 获取证书

运行以下命令来获取证书:

sudo certbot --apache -d yourdomain.com  

yourdomain.com替换为你的实际域名。

Certbot会自动验证你的域名,并生成SSL证书。

3. 配置 Apache 使用 SSL 证书

注意,certbot会自动修改你的default-ssl.conf来指向证书文件,所以一般来说“不用修改配置文件”。当然也可以再次检查一下。

Certbot通常会自动配置Apache使用SSL证书,但如果你需要手动配置,可以按照以下步骤操作:

  • 找到证书文件:证书文件通常存放在/etc/letsencrypt/live/yourdomain.com/目录中。
  • 编辑Apache配置文件:编辑位于/etc/apache2/sites-available/目录下的虚拟主机文件,例如yourdomain.com.conf,并确保有以下SSL相关的配置:
<VirtualHost *:443>
    ServerName yourdomain.com
    DocumentRoot /var/www/yourdomain.com/html
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem
    # 其他配置...
</VirtualHost>
  • 启用SSL模块
sudo a2enmod ssl  
  • 重启Apache
sudo systemctl restart apache2  

4. 测试配置

5. 自动续期

Let's Encrypt的证书有效期为90天,Certbot会自动处理续期。你也可以手动运行以下命令来测试续期:

sudo certbot renew  

报错处理

Certbot failed to authenticate some domains

重新运行Certbot

  • 重新安装并运行Certbot获取证书:
sudo apt install --reinstall certbot
sudo certbot --apache -d xfxuezhang.cn -d www.xfxuezhang.cn  
  • 重启apache服务:
sudo systemctl restart apache2  

Killed

  • 多执行几次:
sudo certbot --apache -d xfxuezhang.cn -d www.xfxuezhang.cn  
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号