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