在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任務來自動執行續訂操作。