Apache-2.4

上游服務出錯時出現 502“從遠端伺服器讀取錯誤”

  • April 6, 2022

我將 apache 設置為反向代理。當上游服務出現錯誤(例如 500)時,錯誤不會返回給客戶端,而是 apache 提供 502“從遠端伺服器讀取錯誤”。

我希望將原始錯誤返回給客戶。

注意,當上游服務正常工作(200 OK)時,apache 按預期返迴響應。500 個響應被屏蔽。

直接呼叫上游服務返回正確的 500 響應和內容,沒有問題。

這就是我們現在所擁有的:

ProxyPass "/path" "http://host:port/path"
ProxyPassReverse "/path" "http://host:port/path"

以及服務返回 500 時的響應

Bad Gateway!
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /path/to/resource.
Reason: Error reading from remote server
If you think this is a server error, please contact the webmaster.
Error 502
publichostname
Apache/2.4.6 (Linux/SUSE) 

是否有一些 apache 配置更改將使 apache 能夠轉發原始響應,而不管狀態程式碼如何?

您至少需要安裝 2.4.16。

此行為是您使用的版本中的錯誤,已在 2.4.13 中修復(未發布)

*) mod_proxy:除非配置了failonstatus,否則不要將worker置於後端返回的500或503錯誤的錯誤狀態。公關 56925。

$$ Yann Ylavic $$

引用自:https://serverfault.com/questions/834193