- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
采用nginx作反向代理,出現了一個(gè)詭異的問(wèn)題,小文件可以提交,大文件會(huì )報500內部錯誤。這個(gè)是什么原因導致的呢?
查wiki可知,上傳文件大小相關(guān)的有三個(gè)配置
client_body_buffer_size 配置請求體緩存區大小, 不配的話(huà),
client_body_temp_path 設置臨時(shí)文件存放路徑。只有當上傳的請求體超出緩存區大小時(shí),才會(huì )寫(xiě)到臨時(shí)文件中
client_max_body_size 設置上傳文件的最大值
所以查出來(lái),問(wèn)題出現的原因是
1.文件大小超過(guò)了client_body_buffer_size
2.client_body_temp_path的臨時(shí)文件路徑居然沒(méi)有寫(xiě)權限
以上兩個(gè)原因導致了返回500錯誤。
如果上?文件大小超過(guò)client_max_body_size時(shí),會(huì )報413 entity too large的錯誤。
原因知道了,修正就簡(jiǎn)單了。
1.client_body_buffer_size 盡量設置的大點(diǎn),這是基于速度的考慮,如果因為設置的過(guò)小,導致上傳的文件老要寫(xiě)磁盤(pán),那速度就太慢了。
2.client_body_temp_path 路徑要有可寫(xiě)權限,這個(gè)是明顯的錯誤了。改正了就好
3.client_max_body_size 設置上傳文件的最大值,這個(gè)是基于安全的考慮,我們認為正常用戶(hù)不會(huì )或者基本不會(huì )上傳太大的文件。
可以設置為client_max_body_size 100m; 或者按照自己的業(yè)務(wù)來(lái)設置這個(gè)值。
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP