修改Hosts不生效的解决办法
?參考源于:
修改Hosts為何不生效,是DNS緩存? - Barret李靖 - 博客園 (cnblogs.com)
如何清除瀏覽器的 DNS 緩存:Chrome、Edge、Firefox、Safari - sysin | SYStem INside | 數(shù)據(jù)中心系統(tǒng)內(nèi)幕
---------------------------------------------------------------------------------------------------------------------------------
修改Hosts不生效的根本原因:
因為服務(wù)器設(shè)置了?keep-alive?!次要原因是存在瀏覽器 DNS 緩存和系統(tǒng) DNS 緩存
系統(tǒng)DNS緩存,可以直接ping測試;
瀏覽器DNS緩存,可通過換瀏覽器驗證(或者隔一段時間才訪問,或清空瀏覽器DNS緩存),如下(如何清除瀏覽器的 DNS 緩存:Chrome、Edge、Firefox、Safari - sysin | SYStem INside | 數(shù)據(jù)中心系統(tǒng)內(nèi)幕):
對普通用戶而言,關(guān)閉后重新打開瀏覽器一般可以刷新 DNS 緩存。如果進(jìn)行 Web 調(diào)試的時候,切換了 hosts,需要快速的清空瀏覽器的 DNS 緩存,方法如下:
Google Chrome
在地址欄輸入以下地址回車,點(diǎn)擊?Clear host cache?即可:
| 1 | chrome://net-internals/#dns |
Microsoft Edge
Edge 源于 Chrome,類似,地址為:
| 1 | edge://net-internals/#dns |
以上地址可以保存到 “收藏夾” / “書簽欄” 點(diǎn)擊即可快速打開。
Mozilla Firefox
Firefox 之前有幾個擴(kuò)展非常方便,可惜都已經(jīng)下線了(SYSIN):
dns-flusher
clear-dns-cache
現(xiàn)在實現(xiàn)方法如下:
在地址欄輸入:about:config,回車,“接受風(fēng)險并繼續(xù)”,然后搜索?network.dnsCache,出現(xiàn)如下 3 項:
| 1 2 3 | network.dnsCacheEntries 400 network.dnsCacheExpiration 60 network.dnsCacheExpirationGracePeriod 60 |
將數(shù)值都修改為 0 即可。
注意:
- 修改后為禁用 DNS 緩存(SYSIN)。
- 該操作對網(wǎng)絡(luò)瀏覽體驗可能有一定影響,僅用于調(diào)試。
- 如果有新的擴(kuò)展出現(xiàn),使用擴(kuò)展更佳。
---------------------------------------------------------------------------------------------------------------------------------
參考原因:
- 如果瀏覽器使用了代理工具,修改 Hosts 也不會生效。這里是因為,瀏覽器會優(yōu)先考慮代理工具(如添加 pac 文件、SwitchySharp等)的代理,建議調(diào)試的時候先關(guān)閉這些代理。
- 使用 pac 文件代理有的時候部分文件的代理不生效,應(yīng)該是 pac 對應(yīng)的代理服務(wù)器上,做了部分處理。
- 部分瀏覽器也有 DNS 緩存,如 chrome(chrome://dns),這是為什么重啟瀏覽器也不生效的原因,一般設(shè)定時間為 60s (如 Firefox)。
- 瀏覽器有DNS緩存,系統(tǒng)也會存在 DNS 緩存,有的時候即便在 chrome://dns 清空了瀏覽器 DNS 緩存,依然不生效,是因為系統(tǒng) DNS 緩存還未刷新,刷新方式可以看這篇文章。
總結(jié)
以上是生活随笔為你收集整理的修改Hosts不生效的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins教程菜鸟_Jenkins教
- 下一篇: Vivado 开发教程 汇总