在Debian系統上配置Apache以使用SSL證書的步驟如下:
sudo apt update
sudo apt install certbot python3-certbot-apache
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
sudo certbot certonly --agree-tos --email admin@example.com --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
其中,example.com應替換為您的域名。
創建或編輯虛擬主機配置文件,通常位于 /etc/apache2/sites-available/ 目錄下,例如 example.com.conf。
在配置文件中添加以下內容:
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
# 可選:啟用HTTP/2
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5:!ADH:!RC4:!DH:!RSA
SSLHonorCipherOrder on
# 其他安全頭設置
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options "DENY"
Header always set X-Content-Type-Options "nosniff"
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLSessionTickets off
</VirtualHost>
example.com 為您的域名,并確保 DocumentRoot 指向您的網站根目錄。sudo a2ensite example.com.conf
sudo systemctl reload apache2
ufw):sudo ufw allow 'Apache Full'
在瀏覽器中訪問 https://example.com,確保顯示安全連接。
請注意,上述步驟假設您已經擁有了一個域名,并且該域名已經解析到運行Apache的服務器IP地址上。如果您使用的是Let’s Encrypt證書,證書通常是免費的,并且會自動更新,但您需要定期使用Certbot進行續期。此外,根據您的具體需求,您可能需要調整防火墻規則和其他安全設置。