要在Ubuntu上使用Apache2實現HTTPS訪問,您需要首先獲取SSL證書,然后配置Apache2以使用該證書。以下是詳細步驟:
sudo apt update
sudo apt install apache2
sudo a2enmod ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
按照提示輸入相關信息,如國家、組織名稱等。
sudo nano /etc/apache2/sites-available/yourdomain.com-le-ssl.conf
將yourdomain.com
替換為您的實際域名。
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory /var/www/yourdomain.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
保存并關閉文件。
啟用新的SSL虛擬主機配置:
sudo a2ensite yourdomain.com-le-ssl.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
現在,您的網站應該可以通過HTTPS訪問了。請注意,由于我們使用的是自簽名證書,瀏覽器可能會顯示安全警告。在生產環境中,您應該使用Let’s Encrypt等免費證書頒發機構獲取有效的SSL證書。