hi
I recently upgraded from seafile community server 6.x to seafile pro 7.0.7 with official container.
Actually, it didn;t work so I recreated a new seafile dataset from sratch.
The docker container is listening to http internal 80 (default) and external 8000, and public traffic come through nginx https + letsenctypt via 443. Nothing fancy.
On the host machine, the listen server, the location, and nginx proxy_pass parameters haven’t changed when I created the new container. The host nginx proxy_pass has the usual set of parameters you would expect: no max body size, no timeout, no buffer, etc.
What i don’t understand is why I cannot connect with the client/drive when the host proxy_pass has client_body_buffer_size=0 ? I can connect to the web UI perfectly.
Client trying to connect gives these 4x lines in the access log:
“POST /api2/auth-token/ HTTP/1.1” 400
I had a hard time pinpointing the parameter at fault and it is client_body_buffer_size=0. Since i am using the official container with yaml and port 443 disabled, everything is default in the container.
My problem is solved but it doesn’t make sense that setting this parameter client_body_buffer_size would result in total inability to connect?? I want to know because if I don’t, it’s like I set that up by chance and have not understood nothing.
client_body_buffer_size=0 is supposed to avoid writting buffer larger that 16k (64bits OS) on disk.
Any idea?
below is the location definition i use for seafile:
location ^~ / {
include global/server/proxy_params-nolimit.conf;
proxy_pass h t t p://127.0.0.1:8000/;
proxy_redirect h t t p://127.0.0.1:8000/ /;
# access_log off;
}
below is the proxy_params-nolimit.conf:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 0;
client_body_timeout 90;
## client_body_buffer_size 0; will prevent login to seafile, for some reason
#client_body_buffer_size 0;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
proxy_buffering off;
proxy_request_buffering off;