經過Nginx訪問後端應用,報錯ERR_CONTENT_LENGTH_MISMATCH

在使用hue時加載css之類的文件感受有點慢,因而打算使用nginx直接去加載本地的靜態文件達到加速的目的。可是某些頁面加載不出來, 查看是報錯net::ERR_CONTENT_LENGTH_MISMATCH。css

在chrome下,請緩存或強制刷新,response的status code爲200nginx

不強制刷新,response的status code爲206chrome

response header裏面,content-length 的長度和目標文件的實際長度是一致的緩存

都會出上面這個content length mismatch錯誤tomcat

若是不經過nginx,直接訪問tomcat,沒有這個錯誤,系統功能正常。日誌

 

解決方法:code

去nginx的error.log日誌排查發現:server

2016/08/25 09:59:52 [crit] 24677#0: *1 open() "/var/lib/nginx/tmp/proxy/1/00/0000000001" failed (13: Permission denied) while reading upstream, client: 182.148.107.206, server: 114.55.4.111, request: "GET /notebook/new HTTP/1.1", upstream: "http://114.55.4.111:10081/notebook/new", it

原來是沒權限,nginx‘默認是以nginx用戶建立的目錄,我這裏是用的hue用戶,所以要把nginx下文件夾的權限賦予hue。io

sudo chmod -R 775 /var/lib/nginx/
sudo chown -R hue /var/lib/nginx/

重啓nginx,問題解決。

相關文章
相關標籤/搜索