環(huán)境
操作系統(tǒng) window server 2016
前端項(xiàng)目 Vue2
Nginx-1.25.3
一、錯(cuò)誤信息
前端是vue項(xiàng)目,打包后部署在Nginx上,前端post請(qǐng)求出現(xiàn)Request Entity? Too Large錯(cuò)誤信息。
?這種問題一般是請(qǐng)求實(shí)體太大(包含參數(shù),文件等)??蛻舳税l(fā)送的實(shí)體主體部分比服務(wù)器能夠或者限制處理的要大。 出現(xiàn)這個(gè)狀態(tài)碼的一般都是上傳接口。 ?
二、調(diào)查問題
通過瀏覽器F12調(diào)試,重新問題,出現(xiàn)下面的錯(cuò)誤信息
發(fā)現(xiàn)狀態(tài)碼仍然是413,發(fā)現(xiàn)請(qǐng)求頭內(nèi)容中Content-Length:139116246,這里Contentlength單位是字節(jié)(Byte),下面139116246換算成MB就是139MB左右。
換算網(wǎng)站?https://www.elecfans.com/tools/zijiehuansuan.html
Content-Length 是一個(gè)實(shí)體消息首部,用來指明發(fā)送給接受方的消息主體的大小。Content-Length首部指示出報(bào)文中實(shí)體主體的字節(jié)大小。這個(gè)大小是包含了所有內(nèi)容編碼的, 比如,對(duì)文本文件進(jìn)行了gzip壓縮的話,Content-Length首部指的就是壓縮后的大小而不是原始大小。
到這里就需要檢查Nginx設(shè)置的client_max_body_size參數(shù),我當(dāng)前環(huán)境設(shè)置的
client_max_body_size 100m;
所以原因是nginx設(shè)置限制了文件大小,請(qǐng)求文件超過了服務(wù)器限制!
三、問題原因
nginx設(shè)置client_max_body_size限制了文件大小,請(qǐng)求文件超過了服務(wù)器限制!
三、解決辦法
修改Nginx設(shè)置,調(diào)整client_max_body_size 具體的大小值,默認(rèn)為1m,此時(shí)可調(diào)整大小,我這里設(shè)置為200m。
3.1 修改位置
可以選擇在http{ }中設(shè)置:client_max_body_size 200m;
也可以選擇在server{ }中設(shè)置:client_max_body_size 200m;
還可以選擇在location{ }中設(shè)置:client_max_body_size 200m;
3.2 三者有區(qū)別
設(shè)置到http{}內(nèi),控制全局nginx所有請(qǐng)求報(bào)文大小
設(shè)置到server{}內(nèi),控制該server的所有請(qǐng)求報(bào)文大小
設(shè)置到location{}內(nèi),控制滿足該路由規(guī)則的請(qǐng)求報(bào)文大小文章來源:http://www.zghlxwxcb.cn/news/detail-847134.html
修改完成后需要重啟Nginx,然后才會(huì)生效!文章來源地址http://www.zghlxwxcb.cn/news/detail-847134.html
到了這里,關(guān)于瀏覽器Post請(qǐng)求出現(xiàn)413 Request Entity Too Large (Nginx)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!