與前端聯調接口時,出現http狀態碼502錯誤
查看nginx報錯日誌:
upstream sent too big header while reading response header from upstream, client: 192.168.0.213, server: localhost, request: “GET /videogo/user-proxy/user/user_menu HTTP/1.1”, upstream: “http://192.168.0.200:8080/videogo/user-proxy/user/user_menu”, host: “192.168.0.200”, referrer: “http://192.168.0.200/”;
請求響應頭過大,應該是前端向後臺調用接口在header請求頭中的token值過大造成的。
修改配置添加:
proxy_buffer_size 128k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 128k;
-
proxy_buffers:
默認值: proxy_buffers 8 4k/8k
上下文: http,server,location
指定一個 request 的 buffer 的數量和大小。 -
proxy_buffer_size:
默認值: proxy_buffer_size 4k/8k
上下文: http,server,location
指定後端 response 的 buffer 的大小。它是來自後端 response 的一部分,它包含 Headers,從 response 分離出來。它僅用於限定 headers 的 buffer 區,默認來說,該緩衝區大小等於指令 proxy_buffers所設置的;但是,你可以把它設置得更小.
proxy_buffer_size 有一點特殊在於,無論 proxy_buffering 是否開啓,proxy_buffer_size 都會起作用。 -
proxy_busy_buffers_size :
默認值: proxy_busy_buffers_size proxy_buffer_size*2
上下文: http,server,location,if
忙時 buffer 的最大值。一個客戶端一次只能從一個 buffer 中讀取數據的同時,剩下的 buffer 會被放到隊列中,等待發送到客戶端,這個 directive 指定在這個狀態下的 buffer 的大小。
重啓nginx
./nginx -s reload
解決!!!