温馨提示×

Debian LAMP如何部署SSL

小樊
33
2026-10-13 15:53:00
栏目: 云计算

在 Debian + LAMP(Apache + MySQL/MariaDB + PHP) 环境下部署 SSL,通常推荐使用 Let’s Encrypt 免费证书(自动续期)。下面是从零到可用的完整流程。


一、前提条件

  • 已安装 LAMP(Apache 可正常访问)
  • 拥有域名(如 example.com)
  • 域名已解析到服务器公网 IP
  • 服务器 80 和 443 端口可访问

二、安装 Certbot(Let’s Encrypt 工具)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Certbot(Apache 插件)

sudo apt install certbot python3-certbot-apache -y

三、申请并自动配置 SSL

1. 为域名申请证书

sudo certbot --apache -d example.com -d www.example.com

如果是单域名:

sudo certbot --apache -d example.com

2. 按提示选择

  • 是否重定向 HTTP → HTTPS(推荐选 2)
  • Certbot 会自动:
    • 生成证书
    • 配置 Apache SSL
    • 重启 Apache

四、验证 SSL 是否生效

浏览器访问:

https://example.com

或使用命令:

sudo certbot certificates

五、自动续期测试

Let’s Encrypt 证书有效期 90 天

手动测试续期

sudo certbot renew --dry-run

Debian 下 Certbot 会自动配置 systemd 定时任务,一般无需手动设置。


六、手动 Apache SSL 配置(了解即可)

如果你不想用 Certbot 自动配置,可手动:

1. 启用 SSL 模块

sudo a2enmod ssl
sudo systemctl restart apache2

2. 配置虚拟主机

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

七、常见问题

❌ 证书申请失败

可能原因:

  • 80 端口未开放
  • 域名未解析
  • Apache 未运行

✅ 强制 HTTPS

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

八、总结

✅ 推荐方案:

Debian + Apache + Certbot + Let's Encrypt

如果你愿意,我可以:

  • 帮你写 完整 Apache 虚拟主机配置
  • 教你 Nginx + LAMP
  • 或配置 多域名 / 通配符证书

直接告诉我你的 Debian 版本(如 11 / 12)即可。

0 踩