關於Mac環境下Failed to load resource:net::ERR_CONTENT_LENGTH_MSMATCH錯誤的解決


1.錯誤詳情

使用nginx做了反向代理,之前是可以訪問的,沒有任何問題,后來刷新幾次就不行了,使用的Chrome瀏覽器,查看錯誤:

換了一個瀏覽器Safari,訪問時可以成功的,好奇怪!

2.原因分析

在網上查了一些資料,找到了原因:

nginx會緩存大文件到proxy_temp目錄中,然而對這個目錄沒有讀寫權限,nginx 的工作進程對大文件做了緩存,這個緩存在 %nginx%/proxy_temp 目錄下,主進程在讀取緩存的時候由於權限問題而無法訪問。

我猜測的直接原因:

​ 應該是清理了一次瀏覽器緩存造成的,在未清理瀏覽器緩存的時候,nginx只是提供部分內容,所以未產生大文件緩存,當你清除瀏覽器緩存的時候,nginx就會提供所有的內容,因此將產生緩存。

3.解決方法

​ 知道原因就比較好解決了,因為proxy_temp目錄沒有權限,那就給他權限唄。

sudo nginx -s stop		#停止nginx服務
sudo chmod -R 777 /usr/local/var/run/nginx/*			#給權限
sudo nginx			  #啟動nginx

最后,刷新瀏覽器,發現可以訪問了,搞定!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM