Table of Contents
タイトルはんそです
ワープレの画面では「謎のエラーでこけました」みたいな事言われるんだが、実際はHTTPレベルで蹴られている。
原因はNginxのデフォ設定においてボディが1MB以上あるリクエストを蹴っている為。
何で起こったか
当ブログ、Dockerを使ってhttps-portal+docker-php+mysqlの3コンテナ体制で運営している。
で、https-portalはいい感じにSSL証明書を取ってきてサイトをHTTPS化してくれるリバースプロキシなんだが、中身がNginxなのでこの段階でリクエストを蹴られる。
そのためWordpress(PHPコンテナ上の)でいくらアップロードの許可設定周りを書いても前段のHTTPS-Portalが蹴るので到達しない。
なおす
https://github.com/SteveLTN/https-portal#configure-nginx-through-environment-variables
コンテナ入って設定書き換えるんじゃDockerの意味あんまねーよなーとか思いながら公式のDoc読んでたら普通に設定あった。
docker-composeの環境変数で幾つかのnginx設定を編集できるんだが、その中にリクエストサイズの設定も含まれている。
てなわけでdocker-compose.ymlのhttps-portal内ENVIRONMENT欄に
CLIENT_MAX_BODY_SIZE: 128M
とか書いてdocker-compose up -dすりゃ勝ち。