【Docker】client_max_body_sizeが効かない時

はじめに

DockerのNGINX + PHPの環境でclient_max_body_sizeがどうしても効かなくて、しばらく途方に暮れていたが、やっと原因がわかったのでメモ。

原因

https-portal

開発環境でもSSL(https)を使いたくて、https-portalを導入していたが、この中でもclient_max_body_size(デフォルト1M)が設定されていた。

解決方法

https-portalではデフォルトのパラメーターを変更できる環境変数がいくつか用意されていて、その中にclient_max_body_sizeもありました。docker-compose.ymlのhttps-portal内で、以下のように環境変数を設定します。

docker-compose.yml
environment:
      CLIENT_MAX_BODY_SIZE: 30M