如何解決nginx上傳文件大小限制
2016-06-12 22:13:56
12682
采用nginx作反向代理,出現(xiàn)了小文件可以提交,大文件會(huì)報(bào)500內(nèi)部錯(cuò)誤。
上傳文件大小相關(guān)的有三個(gè)配置
client_body_buffer_size 配置請(qǐng)求體緩存區(qū)大小, 不配的話,
client_body_temp_path 設(shè)置臨時(shí)文件存放路徑。只有當(dāng)上傳的請(qǐng)求體超出緩存區(qū)大小時(shí),才會(huì)寫到臨時(shí)文件中
client_max_body_size 設(shè)置上傳文件的最大值
問(wèn)題出現(xiàn)的原因是
1.文件大小超過(guò)了client_body_buffer_size
2.client_body_temp_path的臨時(shí)文件路徑居然沒(méi)有寫權(quán)限
以上兩個(gè)原因?qū)е铝朔祷?00錯(cuò)誤。
如果上傳文件大小超過(guò)client_max_body_size時(shí),會(huì)報(bào)413 entity too large的錯(cuò)誤。
原因知道了,修正就簡(jiǎn)單了。
1.client_body_buffer_size 盡量設(shè)置的大點(diǎn),這是基于速度的考慮,如果因?yàn)樵O(shè)置的過(guò)小,導(dǎo)致上傳的文件老要寫磁盤,那速度就太慢了。
2.client_body_temp_path 路徑要有可寫權(quán)限,這個(gè)是明顯的錯(cuò)誤了。改正了就好
3.client_max_body_size 設(shè)置上傳文件的最大值,這個(gè)是基于安全的考慮,我們認(rèn)為正常用戶不會(huì)或者基本不會(huì)上傳太大的文件。
可以設(shè)置為client_max_body_size 100m; 或者按照自己的需要設(shè)置這個(gè)值。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)