2020年11月2日月曜日

リバースプロキシ(nginx)環境下で、WordPressのメニューが更新できない(エラーになる)

 保存しようとすると、下記のエラーがでます。

  • 204 recv() failed (104: Connection reset by peer) while reading response header from upstream
これは時間がかかり過ぎて接続が切れたというものです。

様々な解決方法(後述)を試しましたが、うまくいかず最終的には次の方法で解決しました。なおリバースプロキシが原因と特定できたのは、クローンサイトを手持ちのローカル環境で再現すると、遅いながらも問題なくメニューが保存できたこと。まぁ遅いのは1つのサーバーの多数のウェブサイト(WordPress含む)を動作させていて、リソースが足りていないことが原因の1つではあったものと思う。特殊な事例なので記録に残しておく。

リバースプロキシキャッシュのバッファー調整


次の3つの数値を調整する。
  • proxy_buffer_size 64k;
  • proxy_buffers 4 128k;
  • proxy_busy_buffers_size 128k;

今回は、赤文字の部分を
  • proxy_buffers 100 128k;
とすることで問題解決できた。
ようは、バッファーの受け皿としてバッファーサイズが足りていないのではなく、最大個数がたりていなかった(4→100とした)のだった。

PHPの調整


下記をいろいろしたが解決せず。結局リバースプロキシのバッファー設定の問題だった。

2020年11月2日 @kimipooh

0 件のコメント:

コメントを投稿