簡體   English   中英

Azure URL 應用程序服務無法在 .net 中使用專用端點

[英]Azure URL app service not working in vnet with private endpoint

您好,目前我已經設置了一個 .NET。在這個 .net 中,我創建了一個 VM,並在 su.net 中添加了一個帶有私有端點的應用程序服務。 應用服務的私有端點也會自動添加到私有鏈接 DNS 區域。 (Azure 自動為我創建了這個)它也正確指向正確的內部 ip 地址。 現在,在我的 VM 中,我嘗試使用 curl 並使用指向 AppService 的 created.privatelink.azurewebsites.net 鏈接來訪問我的 AppService。 但是一直返回404,這怎么可能。 我對DNS的了解有限。

如果我在 VM 內執行 NSLOOKUP,它會很好地解析 privatelink DNS 名稱並找到私有端點 ip 地址我錯過了什么?

更新當我繼續使用原始的 azurewebsites.net xxxxxxx.azurewebsites.net(不是私有鏈接)URL 時,我可以從 .NET 中訪問應用程序服務。如果我在 VM 上,並且查找原始的 URL,我會得到這個.

Non-authoritative answer:
xxxxxxxxx.azurewebsites.net       canonical name = xxxxxxxxx.privatelink.azurewebsites.net.
Name:  xxxxxxxx.privatelink.azurewebsites.net
Address: 10.1.1.4

那么幕后有什么魔法嗎?

當您創建公共 Azure 應用服務“xxxxxxxxx”時,除了提供應用服務環境外,還將在 Microsoft 的權威 DNS 服務器之一中創建此新服務的 DNS 條目(它們通常被命名為 ns1-xxx.azure-dns。 com) 最終指向托管應用服務的服務器的公共地址 IP。

如果您為應用服務添加專用端點,則不會刪除這些服務器中的 DNS 條目。 相反,正在發生的事情是使用防火牆規則切斷了對 web 應用程序的 inte.net 訪問。

這意味着如果您在 VNet 之外的瀏覽器中鍵入“xxxxxxxxxx.azurewebsites.net”,則會發送 DNS 查詢並返回服務器的公共 IP 地址。 您的瀏覽器向該 IP 地址發送 HTTP 查詢,但將收到 HTTP 狀態代碼 403,表示公共流量被阻止。

在 VNet 內部,情況有所不同。 如您所述,您有一個鏈接到 VNet 的私有 DNS 區域“privatelink.azurewebsites.net”(您可以在“Virtual.network 鏈接”部分中看到)

在此處輸入圖像描述

如果您現在在與 xxxxxxxxxx.azurewebsites.net 位於同一 VNet 中的 VM 的瀏覽器中鍵入“xxxxxxxxxx.azurewebsites.net”,則與 .network 適配器關聯的 DNS 服務器(默認情況下可通過 168.63 在您的 VM 中訪問。 129.16) 將使用放置在私有 DNS 區域中的條目。 如果存在名為“privatelink.azurewebsites.net”的區域,則將使用此私有 DNS 區域解析域“azurewebsites.net”的所有查詢。 例如,如果 172.16.0.5 有“xxxxxxxxxx”的 A 記錄條目...

在此處輸入圖像描述

...這正是您在 Azure VM 中解析 xxxxxxxxxx.azurewebsites.net 時獲得的 IP:

C:\Users\vm>nslookup xxxxxxxxxx.azurewebsites.net
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    xxxxxxxxxx.privatelink.azurewebsites.net
Address:  172.16.0.5
Aliases:  xxxxxxxxxx.azurewebsites.net

如果你刪除你的私有 DNS 區域,DNS 服務器將解析回 ns1-xxx.azure-dns.com,這反過來會給你服務的公共 IP:

C:\Users\vm>nslookup xxxxxxxxxx.azurewebsites.net
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    waws-prod-am2-459-d21a.westeurope.cloudapp.azure.com
Address:  20.50.2.66

但是由於應用服務仍然應用了防火牆規則來阻止來自 VNet 外部的所有流量,如果您嘗試通過瀏覽器訪問該服務,您將獲得 HTTP 狀態代碼 403。

另請參閱: https://learn.microsoft.com/en-us/azure/app-service.networking/private-endpoint#conceptual-overview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM