簡體   English   中英

Nginx 無法處理文件 10+ mb 文件上傳

[英]Nginx can't handle files 10+ mb file upload

我有一個具有相同 YAML 配置的生產和非生產環境

在生產環境中,上傳超過 10+-mb 左右的文件會導致 nginx 生成 403 錯誤。 下面的任何內容都會導致文件上傳成功

在非生產環境中,我們可以上傳符合配置限制的文件,最多 1GB

下面是正在添加的重要注釋的片段

    nginx.ingress.kubernetes.io/client-body-buffer-size: 1000m
    nginx.ingress.kubernetes.io/client-max-body-size: 1000m
    nginx.ingress.kubernetes.io/fastcgi-read-timeout: "600"
    nginx.ingress.kubernetes.io/fastcgi-send-timeout: "600"
    nginx.ingress.kubernetes.io/idle-timeout: 600s
    nginx.ingress.kubernetes.io/modsecurity-snippet: SecRuleRemoveByID 949110
    nginx.ingress.kubernetes.io/proxy-body-size: 1000m
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
    nginx.ingress.kubernetes.io/rewrite-target: /$1```

默認情況下,你只能在 Nginx 中上傳 1 MB,如果你上傳的超過這個,它會拋出一些錯誤。 如果您想增加整個站點的大小,請在下面添加 client_max_body_size 50M 如果您只想限制 HTTPS 請求而不是 HTTP 請求,您需要將 client_max_body_size 50M 添加到偵聽端口 443 的服務器塊,而不是監聽端口 443 的服務器塊偵聽其他端口號。 以同樣的方式,您可以為特定指令/URL 位置添加它 /uploads { ... client_max_body_size 50M; }

完成上述步驟后,您需要通過以下命令檢查更新后的配置文件的語法:

$ sudo nginx -t如果沒有錯誤運行以下命令重啟:

$ sudo service nginx reload #debian/ubuntu

$ systemctl restart nginx #redhat/centos

請參閱文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM