![Angular 애플리케이션이 ASE의 백엔드 API에 액세스할 수 없음](https://rvso.com/image/1692539/Angular%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%B4%20ASE%EC%9D%98%20%EB%B0%B1%EC%97%94%EB%93%9C%20API%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%9D%8C.png)
우리는 현재 솔루션을 위해 아래 인프라를 설계하고 구현했습니다. Angular 애플리케이션은 Front-End App Service에 배포되고 .NET 애플리케이션은 Back-End App Service에 배포됩니다.
공개 URL이 있습니다(예:https://publicurl.example.com) 이는 프런트 엔드 App Service를 가리킵니다. 백엔드 API를 호출하려고 할 때마다(예:https://backend.ase-01.appserviceenvironment.net/v1/api/orders), ERR_CONNECTION_TIMED_OUT 오류가 발생합니다.
우리 인프라 팀의 추가 조사 결과 이는 클라이언트 애플리케이션인 Angular가 백엔드 애플리케이션을 직접 호출하기 때문이라는 것을 알게 되었습니다. 백엔드가 VNET 내부에 있으므로 Angular 앱이 FQDN을 확인할 수 없어 시간 초과 오류가 발생합니다.
우리가 찾은 한 가지 해결책은 모든 /v1/* 요청을 백엔드 애플리케이션으로 라우팅하는 규칙을 App GW에 만드는 것이었습니다. 작동하지만 애플리케이션을 공용 인터넷에 부분적으로 노출하므로 우선 VNET 내부에 두려는 목적이 무산됩니다.
이에 대한 더 나은 해결책이 있습니까?