333 字
2 分鐘
Web App DNS 解析異常紀錄(Public / Private 切換)
2026-04-15
結論
同一個 Azure Web App 會解析到不同 IP,是因為「是否走 Private Link DNS」決定的。
適合用在哪裡
- Azure Web App 無法連線時排查
- Private Endpoint / Private Link 設定驗證
- 判斷流量是走內網還是外網
- DevOps / Infra troubleshooting
流程步驟
1. 使用 nameresolver 驗證 DNS 解析結果
- 在 Kudu 或 Web App console 執行 nameresolver.exe 查詢 domain
- 觀察是否解析到 public IP(13.x.x.x)或 private IP(10.x.x.x)
- 這一步是最快確認「流量路徑」的方式
nameresolver.exe website.azurewebsites.net2. 判斷 Public vs Private DNS 行為
- 解析到 public:
- domain → *.azurewebsites.net
- IP 為 13.x.x.x
- 表示走 Azure 公網
- 解析到 private:
- domain → *.privatelink.azurewebsites.net
- IP 為 10.x.x.x
- 表示走 Private Endpoint 關鍵差異在於 DNS 是否被「Private DNS Zone 覆蓋」
3. 確認 Private Link / DNS Zone 設定
-
若有建立 Private Endpoint:
- Azure 會建立 privatelink DNS 記錄
-
若 VNet 有綁 Private DNS Zone:
- 會強制解析到內網 IP
-
若沒有綁定:
- 仍會走 public IP 簡單判斷:
-
同一台機器解析結果不同 → DNS 路徑不同
-
同一 domain 出現兩種結果 → DNS override 發生
補充
- Private DNS Zone 綁在 VNet 上才會生效(常見漏設定)
- Azure Web App 沒有 VNet Integration 也可能被 DNS 影響
- 同一 domain 在不同環境解析不同是正常現象,不是 bug
收尾
看 IP 就知道你走哪條路,別再猜網路了,DNS 才是關鍵。
Web App DNS 解析異常紀錄(Public / Private 切換)
https://joyceowo.github.io/posts/343a78ea09fa809f97d2c221d3e00135/