V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
GoodRui
V2EX  ›  NGINX

新手求 nginx 大佬指点,通过反代不能上传大文件的问题。

  •  
  •   GoodRui · 2022-09-10 14:54:49 +08:00 · 2980 次点击
    这是一个创建于 814 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。

    Wing FTP 搭了一台文件服务器,通过 nginx 反代访问,但是上传文件的时候一直失败,控制台里查看返回 413 Request Entity Too Large

    在 nginx 配置里配置了client_max_body_size参数,都配置到了1024m了,还是不行,难道这个参数要配到大于上传文件的大小?

    经常需要上传很多很大的压缩包、镜像啥的,大的能到 30 、50G 的,难道要在设置 50G ?

    nginx 反代文件服务器如何合理配置满足上传下载文件啊?

    谢谢谢谢谢~

    6 条回复    2022-09-10 20:21:27 +08:00
    GoodRui
        1
    GoodRui  
    OP
       2022-09-10 15:32:25 +08:00
    查到有个,提到如果想不检查大小,client_max_body_size 直接设置为 0 ,试了下确实可以了...但是不知道会不会有什么影响,比如性能、安全啥的
    thinkershare
        2
    thinkershare  
       2022-09-10 15:38:00 +08:00
    没啥大的影响, 主要是为了避免客户端通过长时间上传超大文件攻击服务器
    thinkershare
        3
    thinkershare  
       2022-09-10 15:39:29 +08:00
    你如果能够确保上传用户的身份的可信任,并且做好配额,没啥大问题. 如果文件太大, 不建议一次性上传,做好分片,并发上传,然后服务器重新组合.
    scegg
        4
    scegg  
       2022-09-10 15:40:44 +08:00
    这个参数是 body 的大小,不是 body 内数据原长度。
    编码可能会导致 body 比原数据更大。

    这个值只能是最大的 body 的尺寸。超过这尺寸的请求会被抛弃。
    设置为 0 ,不做限制,炸你服务器内存只需要一个大请求就行。

    把一个巨大文件做一个 body 上传,这设计比较牛。
    villivateur
        5
    villivateur  
       2022-09-10 16:42:42 +08:00 via Android   ❤️ 1
    大文件上传应该在前端设置分片,而不是一股脑全上传到后端
    gzf6
        6
    gzf6  
       2022-09-10 20:21:27 +08:00 via Android
    做分片和断点续传吧,要不用户体验也不好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2906 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:00 · PVG 23:00 · LAX 07:00 · JFK 10:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.