一、事故現場
某網站,爲實現https,配置了nginx反向代理,打開網站頁面發現白屏,F12打開瀏覽器的network,發現某些js文件加載報錯:
Net::ERR_INCOMPLETE_CHUNKED_ENCODING
二、原因及解決方案
常見的原因有如下幾種情況:
1、nginx的緩衝區(Proxy Buffer)設置較小
修改配置如下:
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
2、nginx的臨時目錄(/proxy_temp)過大或沒有權限寫入緩存文件
當代理文件大小超過配置的proxy_temp_file_write_size值時,nginx會將文件寫入到臨時目錄下(默認爲/proxy_temp)。
如果nginx中/proxy_temp過大或者沒有寫權限,緩存文件就寫不進去了。
- 直接刪除Nginx緩存文件;
# rm -rf /usr/local/nginx/proxy_temp
- 設置Nginx的緩存過期時間;
- 調整/proxy_temp權限爲配置nginx的那個用戶;
chown -R www:www /usr/local/nginx/proxy_temp
3、磁盤空間不夠
刪掉磁盤一些日誌 文件,釋放下空間。
---