在 Apache2 上启用 HTTPS,通常是通过 SSL/TLS 证书 来实现的。下面按常见场景给你一个清晰、可操作的步骤说明(以 Ubuntu / Debian 为例)。
sudo apt update
sudo apt install apache2
启用 SSL 模块:
sudo a2enmod ssl
sudo systemctl restart apache2
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
会自动:
sudo certbot renew --dry-run
✅ 这是最常用、最简单、生产环境推荐方式
sudo mkdir -p /etc/ssl/apache2
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/apache2/apache.key \
-out /etc/ssl/apache2/apache.crt
填写信息示例:
Common Name: example.com
sudo a2ensite default-ssl.conf
或复制并自定义:
sudo cp /etc/apache2/sites-available/default-ssl.conf \
/etc/apache2/sites-available/your-site.conf
sudo a2ensite your-site.conf
sudo nano /etc/apache2/sites-available/your-site.conf
关键配置示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/apache2/apache.crt
SSLCertificateKeyFile /etc/ssl/apache2/apache.key
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
编辑 80 端口站点:
sudo nano /etc/apache2/sites-available/000-default.conf
添加:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
sudo systemctl restart apache2
https://example.com
https://www.ssllabs.com/ssltest/
sudo ufw allow 443/tcp
sudo apache2ctl -S
sudo journalctl -u apache2
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
sudo systemctl restart apache2
如果你愿意,可以告诉我: