温馨提示×

debian下apache2怎样启用ssl

小樊
46
2026-10-03 12:26:43
栏目: 云计算

在 Debian 下为 Apache2 启用 SSL(HTTPS),通常步骤如下:


一、安装 Apache SSL 模块

Debian 默认已集成 mod_ssl,只需启用:

sudo apt update
sudo apt install apache2
sudo a2enmod ssl
sudo systemctl restart apache2

二、准备 SSL 证书

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

2️⃣ 使用 Let’s Encrypt(推荐,生产环境)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

Certbot 会自动配置 SSL 并启用 HTTPS。


三、配置 Apache SSL 虚拟主机

示例:手动配置

编辑或新建配置文件:

sudo nano /etc/apache2/sites-available/default-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

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

四、启用 SSL 站点

sudo a2ensite default-ssl
sudo systemctl reload apache2

五、防火墙放行 443

sudo ufw allow 443/tcp

(如未使用 ufw 可忽略)


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

编辑 000-default.conf:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>
sudo systemctl reload apache2

七、验证

浏览器访问:

https://你的域名或IP

如果你需要 多域名 / 通配符证书 / 反向代理 HTTPS,可以告诉我具体场景,我可以给你更精确配置。

0 踩