Nginx 文件上傳大小限制及 client_max_body_size最大值問(wèn)題記錄
一、默認(rèn)值與錯(cuò)誤提示
- 默認(rèn)值:
client_max_body_size 1m;
- Nginx 默認(rèn)允許的請(qǐng)求體最大為 1 MiB,超過(guò)該值會(huì)返回 413 Request Entity Too Large 錯(cuò)誤。
- 錯(cuò)誤提示示例:
HTTP/1.1 413 Request Entity Too Large
Content-Type: text/html
二、如何配置 client_max_body_size
該指令可放置在 http
、server
或 location
塊中,后者會(huì)覆蓋前者的配置:
http { # 全局設(shè)置,作用于所有 server client_max_body_size 50m; server { listen 80; server_name example.com; # 針對(duì)某個(gè)虛擬主機(jī)單獨(dú)設(shè)置 client_max_body_size 100m; location /upload { # 針對(duì)特定路徑再度覆蓋 client_max_body_size 200m; proxy_pass http://backend; } } }
說(shuō)明:在嵌套塊中聲明的
client_max_body_size
會(huì)覆蓋祖先塊中的同名指令citeturn1search1。
單位:支持k
、m
、g
(不區(qū)分大小寫),如10K
、2m
、1G
。
三、client_max_body_size 的最大上限
Nginx 在內(nèi)部將該值存儲(chǔ)為 C 語(yǔ)言類型 off_t
,其位寬決定了上限:
64 位可執(zhí)行文件
off_t
為 64 位有符號(hào)整數(shù),理論最大值為 2?³ − 1 字節(jié)(約 9.22×10¹? 字節(jié),≈ 8 EiB),故可將client_max_body_size
設(shè)置至2^63
而不報(bào)錯(cuò)。
32 位可執(zhí)行文件(未啟用大文件支持)
off_t
為 32 位有符號(hào)整數(shù),其最大值約為 2³¹ − 1(約 2 GiB),即 2147483647 字節(jié)。若需突破此限制,可在編譯時(shí)定義_FILE_OFFSET_BITS=64
啟用大文件支持,使off_t
拓展至 64 位。
四、取消大小檢查(無(wú)限制上傳)
將 client_max_body_size
設(shè)置為 0
,可禁用對(duì)請(qǐng)求體大小的檢查,允許無(wú)限制上傳或 POST 請(qǐng)求:
server { listen 80; server_name unlimited.example.com; # 取消大小限制 client_max_body_size 0; location / { proxy_pass http://backend; } }
說(shuō)明:設(shè)置為
0
時(shí),Nginx 不再在自身層面攔截任何大小的請(qǐng)求體。
五、實(shí)戰(zhàn)示例
按需放寬單接口限制
server { listen 80; server_name upload.example.com; # 默認(rèn)允許 10MiB client_max_body_size 10m; location /api/v1/upload { # 單接口放寬至 500MiB client_max_body_size 500m; proxy_pass http://backend_upload; } }
開啟無(wú)限制上傳
server { listen 80; server_name files.example.com; # 完全取消 Nginx 層面的大小限制 client_max_body_size 0; location /files { proxy_pass http://backend_files; } }
六、配置驗(yàn)證
# 檢查配置語(yǔ)法 nginx -t # 重載 Nginx(應(yīng)用新配置) nginx -s reload
隨后可使用 curl
或前端上傳大文件,確認(rèn)是否仍出現(xiàn) 413
錯(cuò)誤,并查看 /var/log/nginx/error.log
以排查問(wèn)題。
七、小結(jié)
- 核心指令:
client_max_body_size
決定 Nginx 層面的請(qǐng)求體大小上限。 - 默認(rèn)值:1 MiB(
1m
)。 - 最大上限:由
off_t
位寬決定,64 位環(huán)境支持至 2?³ − 1 字節(jié),32 位環(huán)境(未啟用大文件支持)限約 2 GiB。 - 取消限制:設(shè)置為
0
即可禁用檢查,允許無(wú)限制上傳。
通過(guò)上述配置與示例,您可以靈活地調(diào)整或取消 Nginx 的上傳大小限制,滿足從小型表單到超大文件傳輸?shù)母鞣N業(yè)務(wù)需求。
到此這篇關(guān)于Nginx 文件上傳大小限制及 client_max_body_size最大值問(wèn)題記錄的文章就介紹到這了,更多相關(guān)nginx 文件上傳大小限制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx 代理域名到另外一個(gè)域名的實(shí)現(xiàn)方法
本文主要介紹了nginx 代理域名到另外一個(gè)域名的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05Nginx ssi合并頁(yè)面的具體實(shí)現(xiàn)
nginx的ssi模塊是一種類似于ASP的基于服務(wù)器的網(wǎng)頁(yè)制作技術(shù),本文主要介紹了Nginx ssi合并頁(yè)面的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05nginx開啟ws訪問(wèn)和4層負(fù)載的編譯參數(shù)示例
這篇文章主要為大家介紹了nginx開啟ws訪問(wèn)和4層負(fù)載的編譯參數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟
這篇文章主要介紹了使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)指南的相關(guān)操作,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08Nginx服務(wù)器中的模塊編寫及相關(guān)內(nèi)核源碼初探
這篇文章主要介紹了Nginx服務(wù)器中的模塊編寫及相關(guān)源碼初探,文中以一個(gè)簡(jiǎn)單的Hello world模塊的編寫來(lái)深入分析Nginx內(nèi)核所用到的基礎(chǔ)函數(shù),需要的朋友可以參考下2015-12-12解決Nginx配置靜態(tài)資源文件404 Not Found問(wèn)題
在使用Nginx作為靜態(tài)資源服務(wù)器時(shí),如果配置了根目錄root導(dǎo)致404錯(cuò)誤,而使用前綴URL配置alias則需要正確處理目錄路徑,使用alias時(shí)要確保目錄名后加‘/’,并且在需要時(shí)使用root和alias配置,本文介紹Nginx配置靜態(tài)資源文件404 Not Found問(wèn)題解決方法,感興趣的朋友一起看看吧2025-03-03修改nginx服務(wù)器類型實(shí)現(xiàn)簡(jiǎn)單偽裝(隱藏nginx類型與版本等)
這篇文章主要介紹了修改nginx服務(wù)器類型實(shí)現(xiàn)簡(jiǎn)單偽裝(隱藏nginx類型與版本等),需要的朋友可以參考下2016-03-03nginx、Apache、IIS服務(wù)器解決 413 Request Entity Too Large問(wèn)題方法匯總
這篇文章主要介紹了nginx、Apache、IIS三種服務(wù)器解決413 Request Entity Too Large問(wèn)題的方法集合,需要的朋友可以參考下2014-05-05利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟
這篇文章主要介紹了利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06nginx開啟HSTS讓瀏覽器強(qiáng)制跳轉(zhuǎn)HTTPS訪問(wèn)詳解
這篇文章主要介紹了nginx開啟HSTS讓瀏覽器強(qiáng)制跳轉(zhuǎn)HTTPS訪問(wèn)詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05