Hosts 檔案是 Windows 系統內建的本地 DNS 映射表,優先順序高於網路 DNS 伺服器。善用它可加速常用網站存取、阻擋惡意/廣告網域、建立本地開發測試環境。本文詳細說明位置、語法與 5 大實戰場景。
| 項目 | 說明 |
|---|---|
| 檔案路徑 | C:\Windows\System32\drivers\etc\hosts(無副檔名) |
| 編輯權限 | 需系統管理員權限(記事本以「系統管理員身分執行」開啟) |
| 語法格式 | IP位址 主機名稱 [#註解],每行一筆,空白或 Tab 分隔 |
| 生效時間 | 儲存即時生效(無需重開機),瀏覽器可能需清除 DNS 快取:ipconfig /flushdns |
# 將常用網站 IP 寫死,省去 DNS 解析時間
180.163.151.34 www.taobao.com
101.226.66.112 www.github.com
172.217.160.68 www.google.com
注意:IP 可能變更,建議搭配排程腳本定期更新,或僅用於相對固定的內部/企業網站。
# 導向本機回環,連線即失敗
0.0.0.0 pagead2.googlesyndication.com
0.0.0.0 ads.facebook.com
0.0.0.0 analytics.google.com
0.0.0.0 doubleclick.net
# 亦可使用 127.0.0.1,但 0.0.0.0 連線失敗更快
推薦定期更新維護好的清單:StevenBlack/hosts(整合多來源廣告/惡意/追蹤網域)。
# 前端開發:自訂專案網域
127.0.0.1 myproject.local
127.0.0.1 api.myproject.local
127.0.0.1 assets.myproject.local
# 後端微服務:模擬生產環境網域
192.168.1.50 auth.internal.corp
192.168.1.51 payment.internal.corp
搭配 Nginx/Apache 虛擬主機或 webpack-dev-server host 設定,實現零配置本地多網域開發。
# 內部 ERP、GitLab、Wiki 等
10.0.1.10 erp.company.local
10.0.1.11 gitlab.company.local
10.0.1.12 wiki.company.local
避免內網 DNS 故障導致內部系統無法存取,也可防止 DNS 劫持。
0.0.0.0 www.facebook.com
0.0.0.0 www.youtube.com
0.0.0.0 www.netflix.com
# 工作時間透過排程腳本啟用/停用對應區塊
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts 合併至本地 Hosts。