前回、
Nextcloudを初期化して、データを取り込み直そうとしたら、何度も413 Request Entity Too Large
のエラーとなって同期が完了しない。
クライアントリクエストボディの最大サイズを0にして無制限にしているのに何故。
/etc/nginx/sites-available/nginx.conf
location ^~ /nextcloud {
# set max upload size and increase upload timeout:
client_max_body_size 0;
答えはここにあった。
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。めでたしめでたし。