如何修復 404 Not Found Nginx 錯誤

如何修復 404 Not Found Nginx 錯誤

身為網站擁有者,您是否擔心讀者在瀏覽您的網站時不斷看到 404 Not Found?這沒什麼好強調的。它是一個 HTTP 狀態碼,意思是「抱歉,該網頁或檔案在伺服器上不可用」。

這篇部落格文章將幫助您了解此錯誤及其發生的原因。我們也向您展示了修復和防止 404 Not Found Nginx 錯誤的步驟。

什麼是 Nginx 404 Not Found 錯誤?

404 Not Found錯誤是一種常見的 HTTP 狀態碼,它指定 Nginx 伺服器無法找到您正在尋找的特定 Web 資源。

有許多變體,包括“HTTP 錯誤 404”、“頁面找不到”、“未找到”、“錯誤 404”等等。所有這些術語都指同一件事——來源項目遺失。

這個狀態碼並不是一個值得大驚小怪的錯誤。可能的原因之一可能是您或您的同事故意從伺服器中刪除了該資源。對於這種情況,您只需保留 404 Not Found 狀態。

但是,如果情況並非如此,請檢查 Nginx 中出現此錯誤的以下原因。

Nginx 為什麼會出現 404 Not Found 錯誤?

部分原因如下:

  • 不正確的 URL:如果您在 URL 中輸入錯誤或點擊損壞的連結。
  • 移動的網頁:請求的網頁或檔案被移到伺服器上的新位置。
  • 伺服器設定錯誤:由於 Nginx 設定不正確,您可能會遇到此錯誤。
  • 不正確的檔案權限:在伺服器上搜尋具有不適當權限的檔案或目錄可能會觸發此錯誤。
  • 檔案名稱區分大小寫:Nginx 在處理檔案和目錄的名稱時區分大小寫。搜尋“Page.html”而不是“page.html”可能會導致 404 錯誤。
  • 錯誤的根目錄: Nginx 設定檔中的root指令指定了服務請求檔的目錄。錯誤配置意味著伺服器無法存取根指令並將觸發“Not Found”錯誤。
  • 索引檔案位置不正確:文檔根目錄中索引檔案(index.html 或index.php)配置錯誤可能會導致錯誤。

修正 404 Not Found Nginx 錯誤

您可以按照以下一些步驟來修復 Nginx 伺服器中的此錯誤。

1. 檢查網址

仔細檢查您要搜尋的 URL 是否有任何拼字錯誤,並確保其正確性。另外,在處理嵌入連結時,請檢查拼字錯誤和損壞的連結。

2. 驗證檔名是否區分大小寫問題

您應該驗證您是否正在搜尋具有準確大小寫和副檔名的正確檔案名稱。單字元大小寫差異可能會觸發此 404 錯誤。

3. 檢查文件位置

您可以檢查檔案是否遺失或位置錯誤。前往伺服器中您要尋找的檔案所在的目錄。如果該文件不存在,則您已找到錯誤原因。若要解決此問題,請將檔案移至其預期位置或更新設定檔中的檔案路徑。

4. 檢查檔案權限和所有權

如果檔案位置不是原因,則必須檢查檔案的權限和所有權。如果 Nginx 沒有存取該檔案所需的權限,它將無法公開提供該檔案。

若要查看目前檔案的權限和所有權,可以使用下列ls命令

如果您發現檔案權限有任何問題,請使用chmod 指令為該檔案指派適當的讀取或可執行權限。但是,如果問題出在所有權上,您可以使用chown 指令來修正它。

5. 伺服器配置

如果 404 Not Found 錯誤仍然存在,則可能是由於伺服器設定錯誤造成的。若要解決此問題,請開啟設定檔 ( nginx.conf ),該檔案通常位於「/usr/local/nginx/conf」、「/etc/nginx」或「/usr/local/etc/nginx」。

開啟設定檔後,具體尋找以下內容:

  • 不正確的伺服器區塊:伺服器區塊告訴 Nginx 如何處理特定網域名稱或 IP 的請求。尋找任何錯誤配置並修正它們。
  • 不正確的位置區塊:位置區塊負責處理伺服器上特定路徑的請求。確保所有位置區塊配置正確。
  • 錯誤的根指令:根指令是每個伺服器區塊負責定義根目錄的路徑。您必須確保其配置準確。
  • 缺少指令:設定檔中需要許多指令。確保納入所有必需的指示以確保正常運作。

在設定檔中進行所需的變更後,您必須重新啟動 Nginx 伺服器。

如果由於 Nginx 伺服器設定錯誤而遇到錯誤,此修復將使事情回到正軌。

6. 重寫規則

如果錯誤仍然頑固,則問題可能出在負責將請求重新導向到資源的重寫規則中。為了確認您的疑問,請嘗試暫時存取沒有重寫規則的來源資料。

為此,請在設定檔中註解掉「 rewrite」和「location 」指令:

然後,重新啟動Nginx伺服器並再次找到您想要的資源。如果它們是根本原因,請檢查 Nginx 設定中的重寫規則並確保它們配置正確。

7. 調查日誌

如果沒有任何效果,您可以調查伺服器日誌以監控可能出現的問題並進行更正。Nginx的錯誤日誌一般位於「/var/log/nginx/error.log」。

防止 Nginx 404 Not Found 錯誤

修復錯誤後,必須採取措施防止將來再次遇到此錯誤。

  • 您必須定期審核您的伺服器以偵測並防止任何潛在錯誤,例如 404 Not Found。
  • 您還應該使用不同的監控工具來監控 Nginx 伺服器的正常運作時間和效能。這些工具將幫助您及時解決出現的問題。
  • 您必須在整個伺服器中納入正確的 URL 結構。您可能希望對任何過時或損壞的 URL 使用301 永久重定向
  • 在提交任何更改之前備份伺服器的配置是避免問題的理想做法。
  • 此外,您可以為檔案或目錄建立命名約定,以協助記住正確的檔案名稱並避免因命名錯誤而導致的錯誤。
  • 製作一個個人化頁面以供顯示,以防您或任何其他人將來遇到此錯誤。該頁面將提供更好的用戶體驗。

為您的 Nginx 伺服器提供額外的安全性

現在您已經解決了 Nginx 404 Not Found 錯誤,是時候考慮保護您的 Web 伺服器了。這將有助於保護其免受DDoS 攻擊等潛在風險。DDoS 攻擊可能會破壞 Nginx 伺服器的功能,並使您的受眾無法使用它。

圖片來源:DepositPhotos 的錯誤 404 。所有螢幕截圖均由丹麥加福爾 (Danish Ghafoor) 提供。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *