こんにちは、さるまりんです。
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の設定についてでしたね。
思ってもないことでエラーが出ると慌てますね。
まずはログを見る。設定を見直す。とっても大事!
色々触って勉強します。
読んでくださってありがとうございます。
それではまた!