Шлюз приложений Azure перенаправляет запрос в службу приложений

#azure #azure-web-app-service #azure-application-gateway

#azure #azure-web-app-service #azure-application-gateway

Вопрос:

У меня есть шлюз приложений, расположенный перед службой приложений Azure (стандартный). У меня есть базовое веб-приложение .Net Core 3.1 MVC, размещенное в службе приложений.

Проблема

Проблема в том, что когда я нажимаю URL-адрес шлюза приложений (имя хоста по умолчанию), он перенаправляет запрос на URL-адрес службы приложений Azure, который мне не нужен. Я хочу, чтобы шлюз приложений обрабатывал запрос через прокси, но на самом деле не перенаправлял меня в службу приложений Azure.

Возможная причина:

Я считаю, что это известная вещь. Возможно, перенаправление вызвано заголовком местоположения в ответе, как указано здесь, проблема с перенаправлением в документации.

Предпринятые шаги:

Я попытался переписать URL-адрес, как предложено здесь, переписать ответ в официальной документации, однако, когда я переписываю заголовок ответа, он не работает. Некоторое время я не получаю ответа, а иногда он попадает в цикл перенаправления. Пожалуйста, обратите внимание, что я использую не пользовательский домен, как предложено в документе, а имя хоста шлюза приложений по умолчанию (xx.australiaeast.cloudapp.azure.com )

Я попробовал следующие значения заголовка

{http_resp_Location_1}://{var_host}{http_resp_Location_2}

http://{var_host}{http_resp_Location_2}

Любая помощь / рекомендации приветствуются.

Имран

Комментарии:

1. У вас есть артикул Standard_v2 или Standard_v1 шлюза приложений Azure?

2. Это версия V2 @AndreyBilous

Ответ №1:

Если вы используете AGW v2, то вот решение.

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

     {
        "ruleSequence": 101,
        "conditions": [
            {
                "variable": "http_resp_Location",
                "pattern": "(https?):\/\/test.abc.appserviceenvironment.net(.*)$",
                "ignoreCase": true,
                "negate": false
            }
        ],
        "name": "test-rewrite-rule",
        "actionSet": {
            "requestHeaderConfigurations": [],
            "responseHeaderConfigurations": [
                {
                    "headerName": "Location",
                    "headerValue": "{http_resp_Location_1}://contoso.com{http_resp_Location_2}"
                }
            ]
        }
    }
 

Комментарии:

1. Спасибо тебе @smita sukumaran . Судя по конфигурации, похоже, что вы имеете в виду ASE? Я использую стандартный план обслуживания приложений, вы думаете, он будет работать с этим?