在Ubuntu上优化Apache2的SSL设置可以提高网站的安全性和性能。以下是一些常见的优化步骤:
首先,确保你的系统和Apache2都是最新的:
sudo apt update
sudo apt upgrade
你可以使用Let’s Encrypt免费获取SSL证书。安装Certbot并获取证书:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的获取和配置。
编辑Apache2的SSL配置文件 /etc/apache2/sites-available/default-ssl.conf
:
sudo nano /etc/apache2/sites-available/default-ssl.conf
确保以下设置:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
# 优化SSL设置
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
SSLCompression off
SSLSessionCache shared:SSL:10m
SSLSessionTickets off
# 启用OCSP Stapling
OCSPUseStapling on
OCSPStaplingResponseCache shmcb:/var/run/ocsp-stapling-cache(128000)
# 启用HSTS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
确保SSL站点已启用:
sudo a2ensite default-ssl
应用配置更改:
sudo systemctl restart apache2
定期检查Apache2的错误日志和访问日志,以确保SSL配置正常工作:
sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/apache2/access.log
default-ssl.conf
中添加以下行:Protocols h2 http/1.1
通过以上步骤,你可以显著提高Ubuntu上Apache2的SSL设置的安全性和性能。