目錄
了解 SSL/TLS 和 Let's Encrypt
先決條件
步驟 1:在 AlmaLinux 9 上安裝 Apache
步驟 2:為 Let's Encrypt 安裝 Certbot
步驟 3:設定防火牆
步驟 4:取得 Let's Encrypt SSL/TLS 憑證
步驟 5:設定Apache以使用SSL / TLS憑證
步驟 6:自動續約 Let's Encrypt 證書
結論
1. 了解 SSL/TLS 和 Let's Encrypt
什麼是 SSL/TLS?
SSL(安全通訊端層)及其後繼者 TLS(傳輸層安全性)是一種旨在保護電腦網路通訊安全的加密協定。 SSL/TLS 憑證可驗證網站身分並啟用加密連線。擁有 SSL/TLS 憑證的網站,瀏覽器網址列中會顯示掛鎖圖標,網站的 URL 以「https」開頭,表示連線安全性。
什麼是 Let's Encrypt?
Let's Encrypt 是一個免費、自動化且開放的憑證授權單位 (CA),提供 SSL/TLS 憑證來加密網路流量。它透過自動化憑證頒發和續約流程簡化了 SSL/TLS 的設定流程,使網站管理員能夠快速輕鬆地保護其網站安全。
2. 先決條件
在開始之前,您需要確保滿足以下先決條件:
運行 AlmaLinux 9並具有 root 或 sudo 使用者存取權限的伺服器。
指向您伺服器的公共 IP 位址的網域名稱。
Apache Web 伺服器已安裝並正在執行。
允許 HTTP 和 HTTPS 流量的防火牆配置。
像Certbot這樣的工具,可以簡化取得和管理 Let's Encrypt SSL 憑證的過程。
3. 步驟 1:在 AlmaLinux 9 上安裝 Apache
如果您的伺服器上尚未安裝 Apache,則第一步是安裝它。操作方法如下:
安裝Apache:
啟用並啟動 Apache:
安裝 Apache 後,使其在系統啟動時自動啟動並啟動服務。
- systemctl enable httpd
- systemctl start httpd
複製代碼
檢查Apache狀態:
若要確保 Apache 正在運行,請檢查其狀態:
如果服務處於活動狀態並且正在運行,那麼就可以開始了。
4. 第 2 步:為 Let's Encrypt 安裝 Certbot
接下來,您需要安裝 Certbot,工具可自動取得和更新 Let's Encrypt 憑證。
安裝所需的軟體包:
執行以下命令安裝 Certbot 和 Certbot Apache 外掛:
- dnf install certbot python3-certbot-apache
複製代碼
Certbot Apache 外掛程式將自動為您的 Apache Web 伺服器設定 SSL/TLS。
5. 步驟 3:設定防火牆
為了確保您的伺服器可以處理 HTTP 和 HTTPS 流量,您需要更新防火牆設定。
允許 HTTP 和 HTTPS 流量:
執行以下命令開啟必要的連接埠:
- firewall-cmd --permanent --add-service=http
- firewall-cmd --permanent --add-service=https
- firewall-cmd --reload
複製代碼
透過這樣做,您允許連接埠 80 上的 HTTP 流量和連接埠 443 上的 HTTPS 流量,這對於網路流量和安全通訊至關重要。
6. 步驟 4:取得 Let's Encrypt SSL/TLS 憑證
安裝 Apache 並設定防火牆後,下一步是從 Let's Encrypt 取得 SSL/TLS 憑證。
取得 SSL/TLS 憑證:
若要為您的網域取得 Let's Encrypt SSL 證書,請使用以下 Certbot 指令:
- certbot --apache -d yourdomain.com -d www.yourdomain.com
複製代碼
yourdomain.com將和替換www.yourdomain.com為您的實際網域。 Certbot 將處理以下操作:
範例- certbot --apache -d tshopping.com.tw -d www.tshopping.com.tw
複製代碼
AlmaLinux Apache 伺服器 SSL/TLS Encrypt憑證
這時virtual.conf檔案複製並修出virtual-le-ssl.conf檔案
在virtual.conf
- /etc/httpd/conf.d/virtual.conf
複製代碼- /etc/httpd/conf.d/virtual-le-ssl.conf
複製代碼
驗證網域的所有權。
自動取得並安裝 SSL 憑證。
配置您的 Apache 伺服器,使其透過 HTTPS 為您的網站提供服務。請依照 Certbot 提示操作:
Certbot 會提示您幾個問題,例如是否要將 HTTP 流量重新導向到 HTTPS(建議)。過程完成後,Certbot 將自動使用您的新 SSL/TLS 憑證設定 Apache。
驗證 SSL/TLS 憑證:
您可以使用 造訪您的網站來驗證 SSL 憑證是否已正確安裝https://yourdomain.com。您應該會在 URL 旁邊看到一個掛鎖圖標,這表示網站是安全的。
7. 步驟 5:設定 Apache 以使用 SSL/TLS 憑證
Certbot 通常會自動處理大部分設定。但是,如果您想要手動設定 SSL/TLS 設定或進一步自訂,則可以在 Apache 設定檔中進行操作。
SSL設定檔:
SSL 設定檔通常位於/etc/httpd/conf.d/ssl.conf或中/etc/httpd/conf.d/yourdomain-le-ssl.conf(如果 Certbot 建立了該檔案)。此檔案包含用於控制 Apache 如何使用 SSL 憑證的指令。
以下是一個範例配置(已經被自動修改好):
- <VirtualHost *:443>
- ServerName yourdomain.com
- ServerAlias www.yourdomain.com
- DocumentRoot /var/www/html
- SSLEngine on
- SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
- Include /etc/letsencrypt/options-ssl-apache.conf
- </VirtualHost>
複製代碼
在此文件中,您將找到對 Certbot 已安裝的 Let's Encrypt SSL 憑證檔案的引用。這些包括:
SSLCertificateFile:SSL 憑證的位置。
SSLCertificateKeyFile:私鑰的位置。
包含 /etc/letsencrypt/options-ssl-apache.conf:此行確保 Apache 使用建議的安全設定。將 HTTP 重新導向到 HTTPS:
為了確保您網站的所有流量都使用 HTTPS,您可以在 Apache 設定中設定從 HTTP 到 HTTPS 的重定向(已經被自動修改好):
- <VirtualHost *:80>
- ServerName yourdomain.com
- ServerAlias www.yourdomain.com
- Redirect permanent / https://www.yourdomain.com
- </VirtualHost>
複製代碼
此配置會自動將訪客重新導向http://yourdomain.com至安全的網站https://yourdomain.com。
8. 步驟 6:自動續訂 Let's Encrypt 證書
Let's Encrypt 憑證的有效期限為 90 天,但 Certbot 可以自動為您續約。為了確保您的 SSL 憑證在到期前續訂,Certbot 提供了續約腳本。
啟用自動續訂:
Certbot 會自動新增一個 cron 任務來處理憑證續約。不過,您可以手動測試續訂過程以確保其正常運作:
此命令會執行一次試運行,模擬續訂過程,而無需實際續訂證書。如果成功,Certbot 會在憑證即將到期時自動續約。
9. 結論
在 AlmaLinux 9 上使用 Let's Encrypt 設定 SSL/TLS 非常簡單,這得益於強大的 Certbot 工具及其與 Apache 的緊密整合。按照本指南中概述的步驟,您可以使用受信任的 SSL/TLS 憑證保護您的網站,確保使用者資料加密且安全。
SSL/TLS 不僅可以提升您網站的安全性,還能提升 SEO 排名並建立用戶信任。儘管 Certbot 已自動完成大部分憑證續約流程,但請務必留意憑證續訂,以確保您的網站持續受到保護。
文章出處
https://www.siberoloji.com/almalinux-9-how-to-configure-ssl-tls-and-obtain-lets-encrypt-certificates-on-apache-server/
|