温馨提示×

debian apache2怎配ssl

小樊
32
2026-10-21 00:19:59
栏目: 云计算

在 Debian 上给 Apache2 配置 SSL(HTTPS),一般步骤如下(以自签名证书和Let’s Encrypt 免费证书两种方式说明)。


一、基础准备

1. 安装 Apache2

sudo apt update
sudo apt install apache2

2. 启用 SSL 模块

sudo a2enmod ssl
sudo systemctl restart apache2

二、使用自签名证书(测试用)

1. 生成私钥和证书

sudo mkdir -p /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/apache2/ssl/apache.key \
  -out /etc/apache2/ssl/apache.crt

按提示填写信息(Common Name 填你的域名或 IP)。

2. 配置虚拟主机

新建或编辑配置文件:

sudo nano /etc/apache2/sites-available/ssl.conf

内容示例:

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

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

3. 启用站点

sudo a2ensite ssl.conf
sudo systemctl reload apache2

浏览器访问:

https://your-server-ip

三、使用 Let’s Encrypt(推荐,生产环境)

1. 安装 certbot

sudo apt install certbot python3-certbot-apache

2. 申请证书并自动配置

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

按提示操作即可,certbot 会自动:

  • 配置 SSL
  • 设置 80 → 443 跳转
  • 配置自动续期

3. 测试自动续期

sudo certbot renew --dry-run

四、强制 HTTP 跳转 HTTPS(可选)

编辑 80 端口配置:

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

五、防火墙注意

sudo ufw allow 80
sudo ufw allow 443

如果你告诉我:

  • 是 Debian 几
  • 用 域名还是 IP
  • 是否 生产环境

我可以给你更精确的配置。

0 踩