在Linux LAMP服務器上配置SSL證書可以幫助你實現安全的HTTPS連接。以下是一個基本的步驟指南,使用Let’s Encrypt提供的免費SSL證書來配置SSL。
Certbot是Let’s Encrypt的官方客戶端工具,用于自動獲取和續訂SSL證書。
sudo apt update
sudo apt install certbot python3-certbot-apache
使用Certbot獲取SSL證書。運行以下命令并按照提示操作:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
-d yourdomain.com
和 -d www.yourdomain.com
是你的域名。Certbot會自動測試你的配置并重啟Apache。你可以訪問 https://yourdomain.com
來驗證SSL證書是否正確安裝。
Let’s Encrypt的證書有效期為90天。Certbot會自動設置一個cron作業來定期檢查并續訂證書。
sudo systemctl status certbot.timer
如果一切正常,你應該看到定時任務正在運行。
確保防火墻允許HTTPS流量:
sudo ufw allow 'Apache Full'
或者如果你使用的是其他防火墻工具,請相應地配置。
如果你不想使用Certbot,也可以手動配置SSL證書。以下是基本步驟:
生成自簽名證書(僅用于測試,不推薦用于生產環境):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/yourdomain.com.key -out /etc/ssl/certs/yourdomain.com.crt
配置Apache:
編輯Apache的SSL配置文件(通常位于 /etc/apache2/sites-available/yourdomain.com-le-ssl.conf
),添加以下內容:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.com.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.com.key
<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>
</IfModule>
啟用SSL站點:
sudo a2ensite yourdomain.com-le-ssl.conf
sudo systemctl restart apache2
重定向HTTP到HTTPS(可選):
編輯默認的Apache配置文件(通常位于 /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
通過以上步驟,你應該能夠在Linux LAMP服務器上成功配置SSL證書。