首頁 >後端開發 >Golang >為什麼我的 Go WebSocket 因 Apache 的 mod_proxy_wstunnel 而失敗(403/400 錯誤)?

為什麼我的 Go WebSocket 因 Apache 的 mod_proxy_wstunnel 而失敗(403/400 錯誤)?

Linda Hamilton
Linda Hamilton原創
2025-01-05 12:16:39673瀏覽

Why is my Go WebSocket failing with Apache's mod_proxy_wstunnel (403/400 Errors)?

使用mod_proxy_wstunnel 對Apache 背後的WebSocket 進行故障排除

此問題旨在解決在Apache 🎜>

此問題旨在解決在Apache 的背後使用率的問題。作者在嘗試透過 WebSocket 連線時遇到 403 Forbidden 和 400 Bad Request 錯誤。

    為了解決這個問題,作者按照以下步驟操作:
  1. 添加了尾部斜杠到WebSocket 路徑:
  2. 根據Aralo 的說法,在WebSocket 路徑中添加尾部斜杠對於Apache 將其識別為GET 請求。
  3. ProxyPass 指令的正確順序:
  4. 正如 James Henstridge 所建議的,特定於 WebSocket 路徑的 ProxyPass 指令必須放在根 ProxyPass 指令之前。
  5. 刪除來源檢查:
go-websocket Chat 範例程式碼在阻止連接的 ServeWs() 函數。此檢查已刪除。

實施這些變更後,作者報告 WebSocket 現在按預期工作。

此外,按照 covener 的建議,閱讀 Apache 日誌可以提供對這個問題的寶貴見解。

以上是為什麼我的 Go WebSocket 因 Apache 的 mod_proxy_wstunnel 而失敗(403/400 錯誤)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn