如何修正 504 網關逾時錯誤
在瀏覽網站時,您很可能會遇到「504 網關逾時錯誤」。 為了理解這個錯誤,必須了解網路的工作原理。 互聯網是一個複雜的網絡網絡,意味著有許多網絡伺服器作為網絡交換資訊。 這些伺服器在一個鏈中工作,涉及在瀏覽器中獲取所需網頁的過程。 在這個鍊式過程中,上游的一台伺服器充當下游伺服器的網關,直到到達最終伺服器的末端,在那裡可以獲得所要求的資訊。
了解如何修復 Google Chrome 中的 err_connection_reset、err_internet_disconnected、err_network_changed 和 err_connection_closed 錯誤。
什麼是 504 網關錯誤?
504是當下游伺服器的請求無法處理或耗時過長時,上游Web伺服器傳回的HTTP狀態碼。 504網關逾時錯誤基本上意味著請求的伺服器在規定的時間內沒有得到對方接收伺服器的回應。 這通常被稱為“超時”,這是您以前可能聽說過的術語。 可以想像,這些錯誤可能出現在任何瀏覽器、網路連結應用程式或作業系統中。
該錯誤的定義如下:
當server1 充當外部網關或代理並且沒有按時收到來自請求鏈中更靠前的下一個server2 的回應時,它嘗試訪問以完成請求,然後收到代碼“504 – Gateway Timeout” .</ blockquote>
修正 504 網關逾時錯誤
大多數情況下,除非您的 Internet 連線或電腦遇到問題,否則通常不會逾時。 但是,確保始終是值得的,並且有幾種方法可以做到這一點。
對於使用者:
- 重新載入網頁
- 稍後再檢查網站
- 重啟路由器/數據機
- 檢查您的網路設定
- 聯絡網站所有者
- 聯絡您的 ISP
對於網站所有者:
- 檢查伺服器日誌
- DNS 區域文件更新(DNS 傳播檢查)
- 防火牆設定錯誤
- 不正確的 CDN 或快取設定
- PHP腳本的問題
- 伺服器連線延遲
對於 WordPress 網站擁有者:
- 與外掛程式或主題檔案衝突
- 啟用調試和檢查
- 設定PHP執行時間
如果您看到 502 – Bad Gateway,請查看有關如何修復 Google Chrome 中的 502 – bad gateway 錯誤的單獨文章。
修復使用者的 504 閘道逾時錯誤
1.重新載入網頁
最快最簡單的方法是嘗試重新載入網頁,看看是否再次出現錯誤。 即使錯誤不在您的盡頭,超時也可能是暫時的 – 可能是由於在線流量的瞬間湧入或類似情況。 如果儘管如此,錯誤仍然存在,請轉到下一個選項。
當您在支付網關上時,請記住不要刷新頁面。 由於在超時發生之前付款可能已經成功,這可能會導致雙重付款。
2. 稍後檢查網站
如果重新載入網站不起作用,請等待一段時間,稍後再返回網站。 該問題在伺服器端可能是間歇性的,可能會在短時間內解決。
3.重啟路由器/數據機
另一種快速簡便的方法是嘗試重新啟動連接到網路的所有裝置。 如今,路由器是一個單一的設備,既具有調製解調器的功能,又具有路由無線連接的功能。 因此,如果問題出在您的路由器上,重新啟動路由器可能有助於解決 504 網關逾時錯誤。 您可以按照通常貼在裝置後面的說明重新啟動/重置路由器。
4.檢查區域網路設定
您應該檢查的網路設定是停用 LAN 連線設定中的「自動偵測設定」選項。 此外,最好停用代理設定以檢查問題是否由於代理設定不當而發生。
5.刷新DNS和更新IP和TCP/IP
如果上述兩個選項都失敗,您可能需要重新整理 DNS 以避免 DNS 快取問題。 如果將整個網站或網站的一部分變更為不同的伺服器,這將很有幫助。 由於您的 PC 在快取中有舊的詳細信息,因此可能會導致延遲獲取請求的頁面。 您可以透過參考這篇關於如何在 Windows PC 中查看和刷新 DNS 快取的文章在 Windows 上執行此操作。 您也可以在 Windows PC 的命令提示字元下使用下列命令更新 IP 和 TCP/IP 協定。
netsh winsock reset netsh int ip reset ipconfig /release ipconfig /renew
在 Mac 上,前往「終端機」應用程式並鍵入以下命令並按 Enter。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
您應該輸入管理員密碼才能執行此命令。
6.存取被封鎖的資源
確保您沒有嘗試造訪被 ISP 或國家層級封鎖的網站。 例如,如果您居住在中國等國家/地區,使用 Facebook 分享按鈕存取頁面將顯示逾時錯誤。 這是因為服務被阻塞了; 儘管會載入網站上的其他內容,但您會看到社交圖示框的佔位符顯示逾時錯誤。
除了使用可靠的 VPN 或代理來存取被封鎖的資源之外,您不能在這裡做任何技巧。
7. 聯絡您的 ISP
如果上述任何方法仍無法解決問題,請嘗試造訪另一個網頁,看看該錯誤是否在另一個頁面上再次出現。 如果錯誤也出現在其他網站上,最好聯絡您的網路服務供應商,或檢查您的網路連線是否有已知中斷或問題。
8. 聯絡網站所有者
如果其他網頁可以正常打開,那麼您可以放心,這不是您的任何原因造成的。 如果錯誤持續超過一兩天,最好聯絡網站/伺服器管理員,並將問題通知他們。 一旦通知,他們可能能夠在相對較短的時間內修復它,這意味著您可以繼續使用網站來滿足您的需求。
如果網站/伺服器管理員沒有盡快與您聯繫或解決問題,這通常表示他們不是很可靠。 該網站可能有點,嗯……“狡猾”,在這種情況下,您可以尋找適合您需求的不同網站。
對於網站所有者:
如果您是網站的所有者並看到 504 網關逾時錯誤,您可以執行不同的操作來還原網站。
8. 檢查伺服器日誌
第一步也是重要的一步是檢查伺服器上的日誌檔案。 通常,此日誌檔案位於您網站的根目錄中。 如果您無法存取日誌檔案或無法理解內容,請與您的主機公司聯絡。
9. DNS 區域檔案更新
與電腦和瀏覽器上的 DNS 快取類似,伺服器也有 DNS 區域檔案條目,用於將網域名稱解析為 IP 位址。 修改 DNS 區域檔案可能會導致網關逾時錯誤。 如果您在過去幾天內更改了 DNS 項目,請檢查您的網域的 DNS 傳播。 這將顯示使用新 IP 位址是否可以在世界各地存取該網站。
![DNS 傳播檢查](https://www.infoxiao.com/wp-content/uploads/2022/08/1661133553_273_如何修復- 504-網.png)
請記住,託管伺服器的變更和 CDN 的使用將導致 DNS 伺服器的變更。 因此,如果您自動變更了託管公司,DNS 伺服器將變更為新的主機,這通常可能需要 48 小時的時間。 雖然在此期間您會看到與 DNS 相關的錯誤,但由於解析新 IP 位址需要很長時間,它也可能導致逾時錯誤。
10. 防火牆設定錯誤
網站所有者通常使用防火牆來保護網站免受駭客攻擊。 但有時防火牆設定中的錯誤配置會完全阻塞資源並導致逾時錯誤。 檢查這一點的最簡單方法是停用防火牆並測試您的網站是否可以存取。 了解有關在 Windows 和 Mac 中處理防火牆的更多資訊。
11. 不正確的 CDN 或快取設定
如今,幾乎網路上的每個站點都使用 CDN 和快取。 伺服器端快取需要更改配置,而且像 Cloudflare 這樣的 CDN 需要更改 DNS 以進行快取。
![Cloudflare 出現504 閘道逾時錯誤](https://www.infoxiao.com/wp-content/uploads/2022/08/1661133553_0_如何修復- 504-網址.png)
如果您懷疑 CDN 或快取是罪魁禍首,只需停用它們以檢查網站是否可以開啟。 然後聯絡服務提供者並正確設置,以免影響真實用戶。
12. PHP 腳本的問題
有許多 PHP 腳本可以直接放入您的伺服器以獲得所需的功能。 這些腳本可以從第三方購買,幾乎沒有錢。 但問題是這些腳本中的大多數編碼都很糟糕,並且會消耗您的伺服器資源。
託管公司限制 PHP 執行時間(如 300 毫秒),以便這些網站關閉整個網站或伺服器。 觸發後,腳本可能會運行很長時間並導致逾時錯誤。 託管公司也可能會封鎖或刪除您的託管帳戶,因為這將違反條款和條件。 因此,分析伺服器上的日誌檔案並檢查 PHP 腳本導致逾時錯誤。 如果是,請立即刪除或停用這些腳本,並就此與服務提供者討論。
13.伺服器連線延遲
通常,如果您使用共享託管伺服器,您的頁面載入時間會很慢。 在這種情況下,同一伺服器上託管的任何網站上的資源密集型頁面可能會減慢整個伺服器的速度並導致逾時錯誤。 如果您有權存取或與您的主機服務供應商聯繫,以透過升級為您的網站安排更多資源,請檢查伺服器使用率。
對於 WordPress 網站擁有者:
如果您有 WordPress 內容管理系統,那麼情況可能會大不相同。 以下是您可以嘗試的一些選項:
14. 與外掛程式或主題檔案衝突
您是否在收到 504 網關逾時錯誤之前更新了您的主題或外掛程式之一? 如果是,請恢復到先前的版本並檢查該網站是否可存取。 請參閱這篇文章,了解如何恢復外掛程式更新和恢復您的網站。 如果您找不到導致問題的特定插件,請停用所有插件並恢復為預設 WordPress 主題。 這應該有助於在沒有插件的情況下存取問題並縮小問題範圍。 在您解決問題之前,將您的網站置於維護模式也是一個好主意。
15.啟用調試和檢查
WordPress 允許您偵錯錯誤以進行故障排除。 您可以透過編輯“wp-config.php”檔案來啟用調試,並在“/* 就是這樣,停止編輯!快樂出版。*/”。
define( 'WP_DEBUG', true );
啟用後,您將在網站的前端看到相關的錯誤訊息。 您可以分析錯誤以了解問題的根本原因並著手修復它。 請記住,所有打開您網站的用戶也可以看到錯誤訊息。 因此,出於安全原因,建議在登台或測試環境而不是現場進行調試。
16.設定PHP執行時間
正如我們已經解釋過的,由於您的主機設定的執行時間限制,PHP 腳本可能會導致延遲。 如果您確定,請透過在「php.ini」檔案中新增以下行來增加執行時間。
max_execution_time = 300
在自行修改之前,請確保您的主機允許該限制。
結論
無論您是使用者還是網站所有者,如果您無法快速解決此類錯誤,您可能會感到沮喪。 還要記住,504 網關逾時錯誤與 502 網關錯誤不同。 我們相信上述步驟之一可以幫助您解決問題。