有馬総一郎のブログ

(彼氏の事情)

2025年01月09日 19:36:25 JST - 2 minute read - Linux

Nextcloudで`413 Request Entity Too Large`のエラーとなってしまう

前回Nextcloudを初期化して、データを取り込み直そうとしたら、何度も413 Request Entity Too Largeのエラーとなって同期が完了しない。

Nextcloud

クライアントリクエストボディの最大サイズを0にして無制限にしているのに何故。

/etc/nginx/sites-available/nginx.conf

    location ^~ /nextcloud {
        # set max upload size and increase upload timeout:
        client_max_body_size 0;

Nextcloud
同期エラー
Nextcloud
server replied: Not Found

答えはここにあった。

Nextcloud+CloudflareTunnelで発生する413エラーについて

Cloudflare経由でアップロードしていたためだった。Cloudflareを使い始めて以降は100MB以上のファイルをアップロードすることがなかったのか気付かなかった。

自分の場合はflatpakでクライアントアプリをインストールしているので、以下の位置の設定ファイルを編集。

~/.var/appcom.nextcloud.desktopclient.nextcloud/config/Nextcloud/nextcloud.cfg

[General]
clientVersion=3.15.2daily
confirmExternalStorage=true
desktopEnterpriseChannel=daily
isVfsEnabled=false
launchOnSystemStartup=true
+chunkSize=10000000
+maxChunkSize=50000000

chunkSize、maxChunkSizeの項目を追加。Linuxクライアントでも設定しないと駄目なんだね。値は 公式サイトのデフォルト値としている。

LinuxでのデスクトップアプリはこれでOKだが、 ファイルの分割(file chunk)アップロードについて | Nextcloud日本公式サイトを見ると、

ファイル分割サイズの設定は、WebUI(ブラウザ)経由でのアップロードの場合には、Nextcloudサーバ側で設定をします。

とあるので、サーバー側でoccコマンドで分割サイズ(byte)を設定する。デフォルトで分割アップロードされてそうな感じだが。

$ sudo -u www-data php occ config:app:set files max_chunk_size --value 10485760
Config value 'max_chunk_size' for app 'files' is now set to '10485760', stored as mixed in fast cache

Androidアプリは分割アップロードが自動でされるのでOK。めでたしめでたし。