在Ubuntu上启用Apache的SSL,你需要遵循以下步骤:
安装Apache和SSL模块: 打开终端,运行以下命令来安装Apache2和SSL模块:
sudo apt update
sudo apt install apache2
sudo a2enmod ssl
获取SSL证书: 你可以从Let’s Encrypt免费获取SSL证书。首先,确保已安装Certbot:
sudo apt install certbot python3-certbot-apache
然后,运行以下命令来获取并安装SSL证书:
sudo certbot --apache
Certbot将引导你完成证书的申请过程。你需要提供电子邮件地址、域名等信息。Certbot还会询问你是否要将HTTP重定向到HTTPS,建议选择“是”。
配置Apache以使用SSL证书:
Certbot将自动修改Apache配置文件(通常位于/etc/apache2/sites-available/default-ssl.conf
),以启用SSL。以下是一个典型的SSL配置示例:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/your-domain.com/chain.pem
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
CustomLog ${APACHE_LOG_DIR}/ssl_access.log \
combined
</VirtualHost>
</IfModule>
请确保将your-domain.com
替换为你的实际域名,并确保证书文件路径正确。
重启Apache服务: 保存更改后,重启Apache服务以应用新的配置:
sudo systemctl restart apache2
测试SSL配置:
在浏览器中访问https://your-domain.com
,你应该能看到一个绿色的锁图标,表示SSL证书已成功安装并启用。
注意:Let’s Encrypt证书有效期为90天。为了确保证书始终有效,你可以使用Certbot的自动续订功能。运行以下命令来测试自动续订:
sudo certbot renew --dry-run
如果一切正常,Certbot将显示续订成功的信息。你还可以设置一个cron任务来自动执行续订操作。