Docker上のNginxのリバースプロキシサーバーで502 Bad Gatewayのエラーが!どうしましょう?

こんにちは、さるまりんです。

Docker上にNginxでリバースプロキシサーバーを構築しています。

あるパスにアクセスした時にこんなエラーが!!

ログを見てみるとこんなのが出力されていました。

[error] 31#31: *203 upstream sent too big header while reading response header from upstream, client: 192.168.xxx.xxx, server: , request: "GET /logout HTTP/1.1", upstream: "http://192.168.xxx.xxx:8xxx/logout", host: "localhost:8000"

このエラーです。

upstream sent too big header while reading response header from upstream

これはサーバーからのレスポンスにbufferを設定してあげることで回避できるよう。

設定はこんな感じです。

server {
 proxy_busy_buffers_size   256k;
 proxy_buffers   4 256k;
 proxy_buffer_size   128k;


 # その他の設定が続きます #
}

FastCGIで動いている時にはproxy_xxxではなく、fastcgi_xxxを設定することで回避できるみたいです。

fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;

発生したケースはプロキシだったので上の設定を入れても効果なしでした。

今回はDockerというよりはNginxの設定についてでしたね。

思ってもないことでエラーが出ると慌てますね。
まずはログを見る。設定を見直す。とっても大事!

色々触って勉強します。

読んでくださってありがとうございます。

それではまた!