在網絡威脅不斷演變的世界中,保護您的 Web 服務器應該是頭等大事。 提高 Web 服務器安全性的最簡單方法之一是使用 SSL 證書對其進行保護。 它對網絡服務器和用戶瀏覽器之間交換的流量進行加密,防止黑客窺探和攔截用戶名和密碼等敏感信息。
Let’s Encrypt 是一個免費的自動證書頒發機構,可幫助您使用有效期約為 90 天的免費 SSL 證書設置安全的 HTTPS 服務器。 在本指南中,我們將引導您完成使用 Let's Encrypt SSL 證書保護 Web 服務器的過程。
要求
首先,我們假設您已經在 Rocky Linux 8 上安裝了 Apache Web 服務器堆棧。如果沒有,請查看本指南,了解如何在 Rocky Linux 8 上安裝 LAMP 服務器。第一步是關於如何安裝的教程Apache 服務器.http 網絡。
另外,請確保您有指向服務器公共 IP 地址的有效域名。 對於本指南,我們將使用名為linuxtechgeek.info。
第 1 步:安裝 EPEL 存儲庫
馬上,我們將開始安裝 EPEL(Enterprise Linux 的附加軟件包)。 這是一個 Fedora 存儲庫,為基於 RHEL 的系統提供額外的軟件包。
因此,運行顯示命令。
$ sudo dnf install epel-release
第 2 步:安裝 Certbot
安裝 EPEL 後,繼續安裝塞博特certbot 的 apache 模塊和mod_ssl這是一個為 Apache 提供加密功能的模塊。
$ sudo dnf install certbot python3-certbot-apache mod_ssl
安裝包後,重新啟動 Apache HTTP Web 服務器。
$ sudo systemctl restart httpd
另外,確保 Web 服務器正在運行:
$ sudo systemctl status httpd
第 3 步 – 創建虛擬主機文件
下一步是設置 Apache 虛擬主機文件。 這是一個為我們域的 Web 內容提供服務的配置,certbot 將使用它來促進 Let's Encrypt 的安裝。
因此,為您的網站創建一個文件夾。 在這種情況下,我將創建一個目錄linuxtechgeek.info這是我的域名指向我的網絡服務器的 IP。
$ sudo mkdir -p /var/www/linuxtechgeek.info
將目錄的所有權分配給 Apache 用戶。
$ sudo chown -R apache:apache /var/www/linuxtechgeek.info
接下來,創建一個虛擬主機文件/etc/httpd/conf.d目錄。
$ sudo vim /etc/httpd/conf.d/linuxtechgeek.info.conf
粘貼顯示的設置並確保替換linuxtechgeek.info用你自己的域名
<virtualhost *:80> ServerName linuxtechgeek.info ServerAlias www.linuxtechgeek.info DocumentRoot /var/www/linuxtechgeek.info ErrorLog /var/log/httpd/linuxtechgeek.info-error.log CustomLog /var/log/httpd/linuxtechgeek.info-access.log combined </virtualhost>
保存並退出配置文件。 然後重新啟動 Apache Web 服務器。
$ sudo systemctl restart httpd
現在讓我們獲取 SSL 證書。
第四步:獲取SSL證書
最後,要使用 Certbot 安裝 Let's Encrypt,請運行以下命令:
$ sudo certbot --apache
這將指導您完成一系列步驟來設置您的 SSL 證書、提供您的電子郵件地址、閱讀並同意服務條款以及選擇您要啟用 HTTPS 的名稱。
Certbot 將檢測您的虛擬主機配置並為所有虛擬主機請求 Let's Encrypt SSL 證書。
一旦 certbot 在您的 Web 服務器上完成應用 SSL 證書,繼續通過在以下位置執行 SSL 服務器測試來測試您的 SSL 配置SSL實驗室. 這是一個在線平台,可以對您網站的網絡服務器進行深度掃描。
第 5 步:設置自動證書續訂
如上所述,Let's Encrypt 證書的有效期只有 90 天,之後會提示您續訂。 您可以使用以下命令在到期前一天手動續訂證書:
$ certbot renew
更好的方法是設置一個 cron 作業來自動執行證書更新過程。 因此,打開 crontab 文件。
$ crontab -e
將此行添加到文件末尾並保存更改。
0 0 * * * /usr/bin/certbot renew > /dev/null 2>&1
這是一個包裹。 希望您現在可以輕鬆地使用 Let's Encrypt SSL 證書保護您的 Apache Web 服務器。