Nginx+Tomcat代理環境下JS沒法徹底加載問題的處理

問題場景:vux項目打包的js發佈到服務器上報錯,而後把打包好的js放到七牛雲服務器上,再在html頁面引用這個js就沒問題,服務器以前是好用的,不知道如今爲何不行了,因此我在想:是否是由於跟nginx壓縮有關,而後在網上找資料,終於找到解決辦法了!

問題場景html

Nginx+Tomcat搭建,且cms由Nginx進行代理轉發。如常見的8080端口轉到80,或者其餘服務器的80或8080端口等狀況。以後經過80端口訪問cms的時候發現前端以及後臺不少的js加載一半,出現如圖錯誤:直接訪問相關js也發現內容確實只加載了一半,強制刷新無用,依然只有一半。可是直接訪問tomcat的80或者8080端口發現是沒有問題的。前端

問題緣由
Nginx代理以後會有相應的代理緩存區,緩存區默認只有幾十K,某些版本的nginx默認設置中沒有相關處理,致使部分文件代理是會出現加載不全的現象,其實不單單是JS文件。只是由於框架的JS文件略大,因此常常出現相似問題。nginx

問題解決
在Nginx.conf中添加緩存

proxy_buffer_size 128k;
proxy_buffers   32 128k;
proxy_busy_buffers_size 128k;

如:tomcat

clipboard.png

參考:

一、Nginx+Tomcat代理環境下JS沒法徹底加載問題的處理
二、Nginx proxy buffer相關的設置和解釋
三、proxy_buffers
四、Nginx的gzip配置參數說明服務器

相關文章
相關標籤/搜索