I have a nextcloud instance, thats been running for some time, upgraded a few times, may have started around version 22? 23 maybe? I recently moved it to a new server, and updated to 27 while I was at it. It runs in containers, so this really wasn’t a big deal, no config changed its still behind the same nginx proxy config it always was. It does store to a digitalocean object store rather than disk though, if this matters. I did this using the following block in the config.php for nextcloud
array (
'class' => '\\OC\\Files\\ObjectStore\\S3',
'arguments' =>
array (
'bucket' => 'name-of-bucket',
'key' => 'access_key',
'secret' => 'secret_key',
'hostname' => 'nyc3.digitaloceanspaces.com',
'port' => 443,
'use_ssl' => true,
'region' => 'nyc3',
'use_path_style' => true,
),
),
I have two problems, which I expect are related, but perhaps are not. The nextcloud sync agent reports a not found error when attempting to sync files that are larger than about 10MB. I recently imported a number of photos and videos that I took at our kids soccer game. All of the photos were around 4-6mb. All if these uploaded using the sync agent (windows 11 btw) but the videos, of which the smallest was 77mb, all fail to upload. The error looks like:
Error transferring <the url to the file it's attempting to upload> - server replied: not found
If I try to upload any of these files via the web ui, the transfer starts, and a few seconds in will simply vanish. The progress bar simply goes away, no error in the UI. I have tried this test with several other files, of various types and sizes, it seems to work once you get below 10mb, and this issue occurs as soon as you cross 10mb.
as it may be relevant, i am including my nginx proxy config:
server {
listen *:80;
server_name server-fqdn;
index index.html index.htm index.php;
access_log /var/log/nginx/server-fqdn.access.log combined;
error_log /var/log/nginx/server-fqdn.error.log;
location /.well-known/ {
root /var/lib/nginx/nextcloud-wellknown;
}
location / {
rewrite ^(.*) https://server-fqdn$1 permanent;
}
}
server {
listen *:443 ssl;
server_name server-fqdn;
#ssl on;
ssl_dhparam /etc/nginx/ssl.crt/dhparam.pem;
ssl_certificate /etc/letsencrypt/live/server-fqdn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server-fqdn/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
ssl_prefer_server_ciphers on;
index index.html index.htm index.php;
access_log /var/log/nginx/ssl-server-fqdn.access.log combined;
error_log /var/log/nginx/ssl-server-fqdn.error.log;
location / {
proxy_pass http://nextcloud;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
The default web configuration from the core nginx conf also sets the following possibly relevant settings:
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
# Upload size limit
client_max_body_size 5g;
# Caching
<<Here i define several caches that are not relevant to nextcloud, nextcloud is not cached>>
proxy_temp_path /var/lib/nginx/cache/tmp;
# Load config files from the /etc/nginx/conf.d directory
# The default server is in conf.d/default.conf
server_names_hash_max_size 1024;
proxy_read_timeout 600;
#proxy_ssl_server_name on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/virt.d/*.conf;
}
The truly baffling thing is, the nextcloud log has nothing to say at all about these failures. Nothing gets logged at all. I have the log level set to 1 (it was 2)
i am running out of ideas.