Nginx反向代理附件上傳 -开发者知识库

Nginx反向代理附件上傳 -开发者知识库,第1张

前段時間公司測試同事說上傳附件過大了就上傳失敗了,昨天一個人來加班,靜下心來,慢慢的捋了一遍,大概過程是這樣的,還請客官聽我慢慢道來:

和Nginx上傳文件有關系的參數一共有三個,分別是:client_body_buffer_sizeclient_body_temp_pathclient_max_body_size,下面我們來一一介紹這三個參數的區別和用法。


client_body_buffer_size: 配置請求體緩存區大小, 如果注釋該指令,使用默認的client_body_buffer_size設置,也就是操作系統頁面大小的兩倍,8k或者16k.

client_body_temp_path設置臨時文件存放路徑。只有當上傳的請求體超出緩存區大小時,才會寫到臨時文件中

client_max_body_size:設置上傳文件的最大值


闡述:

1.當上傳文件大小超過了client_body_buffer_size設置的大小,那么會把上傳文件臨時寫到client_body_temp_path目錄下,如果沒有寫的權限那么就玩蛋了,就該報500的錯誤啦。

2.當上傳文件超過了client_body_buffer_size設置的大小,同時也超過了client_max_body_size設置的大小,那么就會報413錯誤了。

總結:

1.client_body_buffer_size 盡量設置的大點,這是基於速度的考慮,如果因為設置的過小,導致上傳的文件老要寫磁盤,那速度就太慢了。

2.client_body_temp_path 路徑要有可寫權限。

3.client_max_body_size 設置上傳文件的最大值,這個是基於安全的考慮,我們認為正常用戶不會或者基本不會上傳太大的文件。



本文出自 “學習改變命運” 博客,請務必保留此出處http://xinsir.blog.51cto.com/5038915/1970273

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复