![Angular 應用程式無法存取 ASE 中的後端 API](https://rvso.com/image/1692539/Angular%20%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E7%84%A1%E6%B3%95%E5%AD%98%E5%8F%96%20ASE%20%E4%B8%AD%E7%9A%84%E5%BE%8C%E7%AB%AF%20API.png)
目前,我們為我們的解決方案設計並實施了以下基礎設施。我們的 Angular 應用程式部署在前端應用程式服務中,而 .NET 應用程式部署在後端應用程式服務中。
我們有一個公開 URL(例如,https://publicurl.example.com)指向我們的前端應用服務。每當我嘗試呼叫後端 API(例如,https://backend.ase-01.appserviceenvironment.net/v1/api/orders),我收到 ERR_CONNECTION_TIMED_OUT 錯誤。
經過我們的基礎設施團隊的進一步調查,他們發現這是因為 Angular(作為客戶端應用程式)直接呼叫我們的後端應用程式。由於後端駐留在 VNET 內,Angular 應用程式無法解析 FQDN,導致逾時錯誤。
我們發現的一個解決方案是在 App GW 中建立一條規則,將所有 /v1/* 請求路由到後端應用程式。它可以工作,但它會將應用程式部分暴露給公共互聯網,這從一開始就違背了將其置於 VNET 中的目的。
對此有更好的解決方案嗎?