在 Debian 下为 Apache2 启用 SSL(HTTPS),通常步骤如下:
Debian 默认已集成 mod_ssl,只需启用:
sudo apt update
sudo apt install apache2
sudo a2enmod ssl
sudo systemctl restart apache2
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
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
Certbot 会自动配置 SSL 并启用 HTTPS。
编辑或新建配置文件:
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>
sudo a2ensite default-ssl
sudo systemctl reload apache2
sudo ufw allow 443/tcp
(如未使用 ufw 可忽略)
编辑 000-default.conf:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
sudo systemctl reload apache2
浏览器访问:
https://你的域名或IP
如果你需要 多域名 / 通配符证书 / 反向代理 HTTPS,可以告诉我具体场景,我可以给你更精确配置。