nginx上傳文件大小報錯500的解決辦法
nginx上傳文件大小報錯500的解決辦法
采用nginx作反向代理,出現(xiàn)了一個詭異的問題,小文件可以提交,大文件會報500內(nèi)部錯誤。這個是什么原因?qū)е碌哪兀?/p>
查wiki可知,上傳文件大小相關(guān)的有三個配置
- client_body_buffer_size 配置請求體緩存區(qū)大小, 不配的話,
- client_body_temp_path 設置臨時文件存放路徑。只有當上傳的請求體超出緩存區(qū)大小時,才會寫到臨時文件中
- client_max_body_size 設置上傳文件的最大值
所以查出來,問題出現(xiàn)的原因是
1.文件大小超過了client_body_buffer_size
2.client_body_temp_path的臨時文件路徑居然沒有寫權(quán)限
以上兩個原因?qū)е铝朔祷?00錯誤。
如果上傳文件大小超過client_max_body_size時,會報413 entity too large的錯誤。
原因知道了,修正就簡單了。
1.client_body_buffer_size 盡量設置的大點,這是基于速度的考慮,如果因為設置的過小,導致上傳的文件老要寫磁盤,那速度就太慢了。
2.client_body_temp_path 路徑要有可寫權(quán)限,這個是明顯的錯誤了。改正了就好
3.client_max_body_size 設置上傳文件的最大值,這個是基于安全的考慮,我們認為正常用戶不會或者基本不會上傳太大的文件。
可以設置為client_max_body_size 100m; 或者按照自己的業(yè)務來設置這個值。
以上就是nginx 文件上傳出錯的解決辦法,如有疑問請留言或者到本站社區(qū)交流討論大家共同進步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
nginx proxy_set_header的具體實現(xiàn)
proxy_set_header?是 Nginx 配置中的一個重要指令,本文主要介紹了nginx proxy_set_header的具體實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-07-07SpringBoot項目整合FastDFS+Nginx實現(xiàn)圖片上傳功能
FastDFS是一個開源的輕量級分布式文件系統(tǒng),它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題,對SpringBoot整合FastDFS實現(xiàn)圖片上傳功能,感興趣的朋友一起看看吧2022-05-05