1.問題描述
① 在華為雲服務器中搭建了java環境,並在tomcat中部署了一個空的web項目
② 在此web項目中上傳了一個名為:plugin_DTDREAM_LIVING_DEHUMIDIFIER_N20A3_a1JUeSqpS3D.zip的壓縮文件,當時通過chrome瀏覽器訪問連接:
http://x.x.x.x:8002/plug/plugin_DTDREAM_LIVING_DEHUMIDIFIER_N20A3_a1JUeSqpS3D.zip可以下載到此文件
③ 我在此linux服務器改目錄下將此文件刪掉后,又通過chrome瀏覽器訪問此連接還可以下載到此文件
2.解決問題過程描述
① 最開始以為是緩存問題,將tomcat緩存全部清了一遍
把tomcat work目錄下的文件清空和tomcat conf目錄下生成的項目文件夾也刪掉,重啟tomcat,發現還可以下載到此文件
② 然后又把linux中的緩存清空了一遍
查看緩存的命令
free -m
清理緩存的命令
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
然后將服務器重啟,發現還可以下載到此文件
③ 又以為是文件刪除了空間沒有釋放掉
通過命令 :lsof -n |grep deleted 查看已刪除但未釋放空間的進程 參考:https://www.linuxidc.com/Linux/2017-06/144975.htm
然后kill掉了這些進程 發現還可以下載到此文件
當時已經有點心灰意冷了,然后無意間發現了一個問題,訪問此鏈接只要不連接公司的網絡就會出現404找不到文件,連接公司的網絡就能下載,於是想抓包看下
④ 最后通過抓包工具抓了一下請求
wireshark過濾規則及使用方法:https://blog.csdn.net/wojiaopanpan/article/details/69944970
發現請求地址被302重定向了,並且被重定向的地址並不是我服務器的地址,是華數的服務器的地址,我們公司的網絡用的是華數的,至於為什么我的文件會跑到華數的服務器上,就不得而知了。
瀏覽器自動把我的請求地址重定向了,最后找到了一篇文章講解瀏覽器302重定向的次數限制:http://www.cnblogs.com/doseoer/p/8569189.html
3.解決辦法
修改java http get請求方法 可以參考http://www.ibloger.net/article/3069.html 此方法我也沒測試過,不確定是否可用