簡體   English   中英

Azure WebApp 靜態出站 IP

[英]Azure WebApp Static Outbound IP

我正在努力解決一個問題。 我必須從 Azure 托管的 Web API 訪問托管在我的本地服務器(本地)上的 API。

問題是我的本地服務器只允許列入白名單的 IP。 我知道我們可以從我們的 Web 應用程序(Azure 托管)獲取出站 IP。 但我不確定它們是靜態的還是會根據縮放而改變。

另一種解決方案是創建 VNET 並將該 Web 應用程序添加到該 VNET 中。 但我希望有人提出更好的解決方案。

你有幾個選擇。

首先,您可以查看您的應用服務的possibleOutboundIpAddress並將此 IP 列入白名單。 然而,這也為應用服務並未真正使用的 IP 敞開了大門。

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv

其次,您可以在您的應用服務前面放置一個 NAT 網關。 但是,這需要支持虛擬網絡集成的應用服務計划。

  1. 從應用服務內配置區域虛擬網絡集成。
  2. 強制所有源自該應用程序的出站流量通過虛擬網絡傳輸。 這是通過在您的 Web 應用程序配置中設置 WEBSITE_VNET_ROUTE_ALL=1 屬性來完成的
  3. 創建公共 IP 地址。
  4. 添加 NAT 網關,將其附加到包含應用服務的子網,並使用在步驟 3 中創建的公共 IP。

如果您還想使用靜態入站 IP,您可以在此處找到更多信息

Azure App 服務的出站 IP 通常是靜態的,不會隨着縮放而改變。 通常有 4 個出站 IP,它們僅在您更改 SKU 或 MS 端需要增加其數據中心的容量時才會更改(很少見或在不久的將來可能永遠不會發生)。

我建議創建一個 VNET,因為這比在您的本地服務中將 IP 列入白名單更安全。 但是,如果您想列出出站 IP,我建議在 Azure 中為您的本地 API 創建一個包裝器,並在您的本地防火牆中將這些 IP 列入白名單。 這將確保您不必每次想要在 Azure 中創建需要訪問本地 API 的 API 時都將其列入白名單。

不幸的是,在 Azure for App Services 中沒有直接的方法可以做到這一點,我最近也遇到了這個問題。 唯一的解決方案(現在無論如何)是將應用服務的出站 IP 列表添加到您的允許規則中。

在層之間擴展時要小心,因為它會改變出站 IP 地址。 https://docs.microsoft.com/en-us/azure/app-service/overview-inbound-outbound-ips#when-outbound-ips-change

最簡單的方法是使用帶有靜態公共 IP 的 Azure VM,該 IP 用於入站和出站。 Sam Cogan 有一篇很好的博客文章,他確實通過了幾個選項。 ( https://samcogan.com/obtaining-a-static-outbound-ip-from-an-azure-virtual-network/ )

混合連接https://docs.microsoft.com/en-us/azure/app-service/app-service-hybrid-connections怎么樣? 我認為它們是為訪問本地服務而設計的。

暫無
暫無

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

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