Cosnomi

プログラミングをする医学生。物を作ること、自動化すること、今まで知らなかったことを知ることが好き。TypeScript書いたり、Pythonで機械学習したりなど。

Twitter / GitHub / Keybase
TOP >

Cloudflare下のDocker Registryで413エラー

Cloudflare経由のアップロードには容量の制限があるようです。

本文

Docker RegistryのサーバーのDNSにCloudflareを使っていたのですが、413エラーが出てしまいました。413エラーは大抵の場合、nginxの設定で client_max_body_size を大きくすると解決するはずなのですが、今回は設定ファイルを見てみても適切に設定されていましたし、nginxのログを見てもエラーが出ている様子はありませんでした。ということは、その前でのエラーが考えられます。

もしやCloudflareが原因かと思って調べてみると、How can I change the client maximum upload size?
このようなページが見つかりました。これによると、Cloudflareの無料プランではアップロードファイルの容量は最大100MBのようです。有料版だと気にしなくても良いほど増えるのかと思いきや、Enterpriseでも500MB…Cloudflareのサーバーを経由しないグレーアイコンの設定(DNS only)だとこの制限は適用されないので、回避する場合はそのようにすればよいでしょう。

確かに、Cloudflareは主にCDNとして用いられており、大容量ファイルのアップロードはその用途からは外れますが、中にはDDoSを避けるために利用している人もいるかと思います。この制限を回避するためにはCloudflareによるIPアドレス隠蔽を無効にしなければならず、DDoSのリスクが高まるという点で、少し困る人もいるかも知れません。

まとめ

Cloudflareを経由しないように設定(DNS only; 灰色のアイコン)すれば、アップロードサイズの上限が適用されなくなり、413エラーは解決する。


最後まで読んでいただきありがとうございます。コメントフォームは設置していません。訂正・意見・感想などはTwitter(@cosnomi)などへお願いします。
記事一覧へ