Поддержка API в статических веб-приложениях Azure с помощью службы приложений Azure

Служба приложений Azure — это управляемая платформа для размещения веб-приложений, выполняющих код на серверах. Служба приложений Azure поддерживает множество сред выполнения и платформ, включая Node.js, ASP.NET Core, PHP, Java и Python.

При связывании веб-приложения Azure App Service со статическим веб-приложением, все запросы к статическому веб-приложению с маршрутом, начинающимся с /api, транслируются на тот же маршрут в приложении Azure App Service.

По умолчанию, когда приложение службы приложений подключено к статическому веб-приложению, оно принимает только запросы, которые проксируются через подключенное статическое веб-приложение. Приложение Службы приложений Azure может быть связано только с одним статическим веб-приложением одновременно.

Все планы размещения службы приложений Azure доступны для использования со статическими веб-приложениями Azure.

Параметры API для статических веб-приложений включают следующие службы Azure:

Дополнительные сведения см. в обзоре API.

Замечание

Для интеграции со службой приложений Azure требуется стандартный план статических веб-приложений.

Интеграция серверной части не поддерживается в окружениях pull request для Статических веб-приложений.

Необходимые условия

Чтобы связать службу приложений со статическим веб-приложением, необходимо иметь существующий ресурс службы приложений и статическое веб-приложение.

Ресурс Описание
Служба приложений Azure Если у вас еще нет приложения, выполните действия, описанные в руководстве по созданию веб-приложения в Azure .
Существующее статическое веб-приложение Если у вас еще нет одного, выполните действия, описанные в руководстве по началу работы , чтобы создать статическое веб-приложение No Framework .

Пример

Рассмотрим существующий экземпляр службы приложений Azure, обеспечивающий доступ к конечной точке по следующему адресу.

https://my-web-app.azurewebsites.net/api/getProducts

После установки связи вы можете получить доступ к той же конечной точке по пути api из статического веб-приложения, как показано в этом примере URL-адреса.

https://red-sea-123.azurestaticapps.net/api/getProducts

Оба URL-адреса указывают на одну конечную точку API. Конечная точка службы приложений должна иметь префикс /api, поскольку Статические веб-приложения перенаправляют запросы, сделанные /api, на весь путь к связанному ресурсу.

Чтобы связать веб-приложение в качестве серверной части API для статического веб-приложения, выполните следующие действия.

  1. В портале Azure перейдите к статическому веб-приложению.

  2. Выберите API в меню навигации.

  3. Найдите среду, к которой нужно привязать экземпляр управления API. Выберите Ссылка.

  4. В типе ресурса серверной части выберите веб-приложение.

  5. В подписке выберите подписку, содержащую приложение Службы приложений Azure, которое вы хотите связать.

  6. В имени ресурса выберите приложение Службы приложений Azure.

  7. Выберите Ссылка.

По завершении процесса связывания запросы на маршруты, начинающиеся с /api, направляются через прокси к связанному приложению службы приложений.

Управление доступом к Службе приложений Azure

Приложение службы приложений настроено с провайдером удостоверений под именем Azure Static Web Apps (Linked), который разрешает только трафик, проксируемый через статическое веб-приложение. Чтобы сделать приложение службы приложений доступным для других приложений, обновите его конфигурацию проверки подлинности, чтобы добавить другого поставщика удостоверений или изменить параметры безопасности, чтобы разрешить доступ без проверки подлинности.

Чтобы отменить связь веб-приложения от стационарного веб-приложения, выполните следующие действия.

  1. В портале Azure перейдите к статическому веб-приложению.

  2. Выберите API в меню навигации.

  3. Найдите среду, связь с которой вы хотите разорвать, и выберите имя веб-приложения.

  4. Выберите "Отменить связь".

После завершения процесса отмены связи запросы, начинающиеся с маршрутов /api, больше не перенаправляются к вашему приложению службы.

Замечание

Чтобы предотвратить случайное предоставление приложению службы приложений анонимного трафика, поставщик удостоверений, созданный процессом связывания, не удаляется автоматически. Вы можете удалить поставщика удостоверений с именем Статические веб-приложения Azure (связанные) из параметров проверки подлинности в приложении службы приложений.

Удаление проверки подлинности из ресурса службы приложений

Чтобы разрешить ресурсу Службы приложений получать анонимный трафик, выполните следующие действия, чтобы удалить поставщика удостоверений:

  1. На портале Azure перейдите к ресурсу Службы приложений.

  2. Выберите проверку подлинности в меню навигации .

  3. В списке поставщиков удостоверений удалите тот, который связан с ресурсом Статические веб-приложения.

  4. Выберите "Удалить проверку подлинности", чтобы удалить проверку подлинности и разрешить анонимный трафик к ресурсу службы приложений.

Теперь ресурс службы приложений может получать анонимный трафик.

Дальнейшие действия