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
最后,刷新瀏覽器,發現可以訪問了,搞定!!!