要優化Apache2的SSL配置,可以遵循以下步驟:
確保你的Apache服務器和SSL模塊是最新的。你可以使用以下命令來更新:
sudo apt update
sudo apt upgrade apache2
sudo apt install libapache2-mod-ssl
確保SSL模塊已經啟用:
sudo a2enmod ssl
將你的SSL證書和私鑰文件放在一個安全的位置,并在Apache配置文件中引用它們。通常,這些文件位于/etc/ssl/certs/
和/etc/ssl/private/
目錄下。
編輯你的虛擬主機配置文件(例如/etc/apache2/sites-available/default-ssl.conf
),添加或修改以下內容:
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.com.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.com.key
SSLCertificateChainFile /etc/ssl/certs/yourdomain.com-chain.pem
# 啟用OCSP Stapling
SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/stapling-cache(150000)"
# 啟用HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
# 啟用TLS 1.2和TLS 1.3
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
# 啟用OCSP Stapling
SSLHonorCipherOrder on
# 啟用壓縮
SSLCompression off
# 啟用HTTP/2
Protocols h2 http/1.1
DocumentRoot /var/www/html
<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>
編輯你的默認虛擬主機配置文件(例如/etc/apache2/sites-available/000-default.conf
),添加一個重定向規則:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
應用所有更改后,重啟Apache服務器:
sudo systemctl restart apache2
使用以下命令驗證SSL配置是否正確:
sudo apache2ctl configtest
使用SSL檢查工具(如SSL Labs)來測試你的SSL配置,確保所有設置都是最佳的。
通過以上步驟,你可以優化Apache2的SSL配置,提高網站的安全性和性能。