Google Drive 无法上传文件
最近使用 Gooogle colab 训练一些模型,有一些素材准备上传到 Google Drive,然后挂载到 colab 上使用,但是今天下午一直没有上传成功,只有个别小文件可以上传成功,稍微大一点,比如 1MB 左右就无法成功,后来我又尝试 OneDrive,发现多数可以成功,但是非常慢,有些文件会反复重试。
我初步怀疑是我电脑配置的问题,回到家后用家里的电脑还是有这个问题。我用 F12 打开浏览器调试,发现报了一堆错,全部是 CONNECTION_RESET_ERR 这类错误,我怀疑问题可能出在服务端。猛然想起我的 nginx 用的是默认的配置,那么client_max_body_size
应该也是默认的配置,所以应该是 Google Drive 在分割上传文件的时候 payload 超过了 nginx 的默认值,所以把client_max_body_size
设置大一点就可以了。
client_max_body_size
设置成 64MB,完美解决这个问题。
http {
include /etc/nginx/mime.types;
client_max_body_size 64M;
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;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
自建的科学上网服务,架构大概是下面这个样子:
所以 payload 过大会导致 nginx 直接 reset 连接。