Почему мой запрос на ресурс ASP не перенаправлен в соответствии с ожиданиями Azure API Management? - PullRequest
0 голосов
/ 05 апреля 2019

В моем случае я хотел бы использовать Azure APIM в качестве прокси.

(Изменить: Я использую уровень «Потребление», и ответ, данный здесь, работает со стандартными уровнями. Я обновлю его, если найду решение с поддержкой MS для уровня Потребление.)

Так что

GET https://my-awesome-api.azure-api.net/default.css

извлекает и возвращает то, что там находится:

GET https://my-backend.my-domain.com/default.css

Работает нормально, кроме файлов ASP. Если мой ресурс - /default.asp, я получаю 404, сгенерированный непосредственно APIM (не мой бэкэнд, который вообще не вызывается). Проблема воспроизводится на каждом уровне (я могу получить /foo/default.css, но 404 на /foo/default.asp).

Мне не удалось найти в документации ничего, связанного со специальной обработкой ASP-файлов по умолчанию (или любой другой в этом отношении). Тот факт, что другие типы ресурсов работают нормально, еще более озадачивает.

GET /default.css -> works
GET /default.asp -> gets the Azure 404
GET /i-dont-exist.css -> gets the backend 404
GET /i-dont-exist.asp -> gets Azure 404

Лазурный 404:

HTTP/1.1 404 Not Found

content-length: 103
content-type: text/html
date: Fri, 05 Apr 2019 15:35:34 GMT
vary: Origin
x-powered-by: ASP.NET
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

1 Ответ

2 голосов
/ 06 апреля 2019

Скорее всего, ваш API неверно настроен. Кажется, вы хотите пройти через весь трафик, поэтому вам нужно создать API с URL-адресом веб-службы, установленным на «https://my -backend.my-domain.com » и суффиксом пути к «/». Под ним создайте операцию для каждого метода HTTP, который вы хотите прокси с URL-шаблоном, установленным в /*.

...