nginx報502請求頭過長問題upstream sent too big header while reading response header from upstream

與前端聯調接口時,出現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
解決!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章