上传失败 Internal server error

web端上传38MB文件,一般到20%,就会Internal server error
PC客户端,同样的38MB文件,上传到100%,又会进度条回头再跑一次,然后说,文件上传石失败想要重试嘛?

用的docker装的seafile
用了ngnix (这玩意特难用新手记得一定别用,老老实实写端口号又不是会死人)
目前不知道该咋设置了
有说ngnix限制的,但是进入config没看到啊?
不知道怎么办了

btw
上传小文件好像都ok,所以感觉是被限制了
但是就是找不到设置

没什么难的!进入 seafile 容器将 client_max_body_size 设置大点就行了

进入容器

docker exec -it seafile vim /shared/nginx/conf/seafile.nginx.conf
client_max_body_size 2G;  # 找到这个改大点

保存,再重启Nginx服务

docker exec -it seafile /usr/sbin/nginx -s reload

基本搞定

谢谢,但是我后来发现,其实是一个bug,上传其他文件都没问题。
这个bug好像是针对超长中文名字(可能带有特殊字符)的文件,我是上传油管下载下来的文件,没改名字,所以名字超长,才30多MB每次上传都失败,后来朋友上传别反而成功了

不过你这个方法我也记下来,日后可能会用到

大佬还想问你个事情,nginx是可以在docker里面运行的吗?怎么装载了进去无法启动呢?

不知道,反正超时、上传不了大文件,文档编辑,外网访问不行,等等的都没遇到!估计用的少…

2bacc


Docker版本的 Seafile 的 seafile 容器本身已经内置 Nginx 了,像这个…

  seafile:
    image: docker.seafile.top/seafileltd/seafile-pro-mc:latest
    container_name: seafile
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /opt/seafile-data:/shared
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=1qaz2wsx               # 2、上面配置 ROOT 密码
      - TIME_ZONE=Asia/Shanghai
      - SEAFILE_ADMIN_EMAIL=seafile@2ba.cc   # 3、设置管理员账号邮箱
      - SEAFILE_ADMIN_PASSWORD=qwe123qwe     # 4、设置管理员账号密码
      - SEAFILE_SERVER_LETSENCRYPT=false     # 不要自动申请证书,要就 true
      - SEAFILE_SERVER_HOSTNAME=seafile.2ba.cc  # 5、你的域名
    depends_on:
      - db
      - memcached
      - elasticsearch
      - oods
    networks:
      - seafile-net

它就是通过 Nginx 反代出的 80443 端口,配置也简单,不用担心 Docker 的性能,个人用压根达不到瓶颈!


还有,比如你要是想开启 443 上传证书,只要改 Nginx 的配置就行,要是有映射出来就在

/opt/seafile-data/nginx/conf/

没有映射出来,就 exec 进行编辑…

docker exec -it seafile vim /shared/nginx/conf/seafile.nginx.conf

再将对应的证书传到对应的目录,之后重启

docker exec -it seafile /usr/sbin/nginx -s reload

可以看我这系列 2ba.cc/tag/seafile/ 用到就更新

非常谢谢大佬,大佬再试试超长中文名文件上传看看?,可以试试下载油管视频以后再上传试试。我就是那时候遇到无法上传的问题的。
再问一个题外话可以吗?我现在有海外二级域名,想做一个国内家里人的梯子,请问该咋做呀?