WordPressにファイル上げようとしたら413 Request Entity Too Largeエラー

Table of Content

タイトルはんそです

ワープレの画面では「謎のエラーでこけました」みたいな事言われるんだが、実際は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すりゃ勝ち。

カテゴリー: IT パーマリンク

コメントを残す

メールアドレスが公開されることはありません。