Azure Управление API - Почему для запросов требуется заголовок Host? - PullRequest
0 голосов
/ 05 мая 2020

Я установил простой API в API Management. Это внутренний API, подключенный к VNet.

У меня не настроен DNS, поэтому я тестирую его через внутренний IP-адрес.

Запрос выглядит вот так:

GET http://10.x.x.x/query?id=3

Если я просто отправлю запрос без дополнительных заголовков, я получу ошибку 503.

Если я добавлю заголовок Host с доменным именем API, например :

GET http://10.x.x.x/query?id=3
Host: apixxxxx.azure-api.net

Затем он работает, и я получаю 200.

Почему это происходит и как отключить требуемый заголовок Host?

Или как я могу сделать успешный запрос от системы, которая будет использовать собственный заголовок Host?

1 Ответ

0 голосов
/ 06 мая 2020

Когда вы используете режим внутренней виртуальной сети, все конечные точки службы видны только в пределах виртуальной сети, доступ к которой вы контролируете. Он также содержит запросы. Доступ к частному IP-адресу возможен только внутри виртуальной сети. APIM доступен по имени домена, и вы можете направлять запросы на бэкэнд во внутреннем режиме, настроив правила маршрутизации. Взгляните на конфигурацию DNS . Поэтому вам необходимо установить хост с доменным именем APIM, чтобы сделать его доступным.

...