
我經常使用 /etc/hosts 在網域的伺服器之間來回切換,並在部署之前測試它是否正常運作。
然而,在最新的案例中,我使用了 cloudflare 作為 DNS。由於某種原因,我無法從(伺服器的舊 IP 位址)為網站提供服務(取得 HTTP 回應),因為它卡在更新的 IP 位址上。我無法將其切換回來,因為新網站已經上線。我以前從未遇到過這樣的問題。唯一的區別似乎是 Cloudflare 管理 DNS 條目。
我透過刷新 DNS 快取、重新啟動以及其他在網路上找到的提示進行了故障排除,但沒有成功。我還可以透過修改主機檔案來為另一個網站(不同的網域)提供服務...這引出了我手頭上的問題...
那麼,問題是,cloudflare 會導致 /etc/hosts 條目被忽略嗎?還是這是巧合?
如果這是問題所在,這怎麼可能?我認為主機檔案繞過了 DNS 查找。
乾杯,
答案1
CloudFlare 和任何其他 DNS 伺服器都無法覆蓋您的本機 /etc/hosts 檔案。
我建議您重新開始故障排除,如果您需要幫助,請提出另一個問題,其中包含更多測試診斷詳細資訊。
答案2
網域解析是在您的電腦上本機配置的,任何外部實體都無法覆蓋它。
但是您可以通過以下方式更改它nsswitch機制。例如,如果你有一行:
hosts: dns files
在 中/etc/nsswitch.conf
,則 DNS 項目將覆蓋/etc/hosts
.