Приложение Angular не может получить доступ к внутреннему API в ASE

Приложение Angular не может получить доступ к внутреннему API в ASE

В настоящее время для нашего решения разработана и реализована следующая инфраструктура. Наше приложение Angular развернуто в Front-End App Service, а наше приложение .NET развернуто в Back-End App Service.

У нас есть общедоступный 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.

Есть ли лучшее решение этой проблемы?

Связанный контент