場景:
前端同事瘋狂發包,一天發了七八次,結果清除瀏覽器緩存后,頁面一片空白。然后搞不定了,就說是后端的問題。(各位同學,一般這種無理的鍋,我都是直接忽略;可誰TM要我的工作年限最久呢,兜兜轉轉還是找上了我)
分析:
nginx請求進來了,但是頁面是白的。應用服務器沒有任何異常日志。前端控制台206(Partial Content),部分內容,啥意思啊?
是不是nginx服務異常了,reload,無果。
是不是前端包的問題,回退,刷新,無果。
不是前端,也不是后端代碼的問題,那就只能是架構的問題啦。
詢問了一圈,沒誰該相關配置。
我熟練的打開了google,不吹不黑,google確實好用。
說是nginx的代理緩存區太小,文件太大,無法加載全,和部分內容有點關系。
修改nginx配置,驗證一下,success。
原因:
Nginx代理之后會有相應的代理緩存區,緩存區默認只有幾十K,某些版本的nginx默認設置中沒有相關處理,導致部分文件代理是會出現加載不全的現象,其實不僅僅是JS文件。只是因為框架的JS文件略大,所以經常出現類似問題。(摘抄自老哥)
修改配置:
在你的nginx主配置文件中在http的配置屬性中,添加如下三個配置。
-
proxy_buffer_size 128k;
-
proxy_buffers 32 128k;
-
proxy_busy_buffers_size 128k;
參考資料:
https://www.jianshu.com/p/50bc4651dccf
https://blog.csdn.net/TCF_JingFeng/article/details/80325644