Перенаправление шлюза приложений Azure с пустого имени хоста - PullRequest
0 голосов
/ 01 апреля 2019

Я создал шлюз приложений, который должен выполнять работу моего предыдущего ресурса (F5).

As a listener I use a hostname: hostname.stackoverflow.com that listens on 443

As a Http Setting I am using a specific port being 4443 

As a BackEnd pool I use the URL/FQDN of my dev VM.

Это полностью работает, если я создаю виртуальную машину в VNET и добавляю "hostname.stackoverflow".com "к файлу hosts с ip шлюза приложения.

Теперь я хочу пойти немного дальше и добавить пути к своему шлюзу приложений.Цель состоит в том, что если я использую "hostname.stackoverflow.com", мне нужно перенаправить его на "Hostname.stackoverflow.com/login.aspx?guestlogin".

Насколько я пробовал следующее.

  • Добавьте «/login.aspx?guestLogin» в настройки HTTPS, как это.enter image description here

Когда я пытаюсь сделать это внутри моей виртуальной машины.URL-адрес меняется, но путь, который я добавил, не был добавлен правильно, вот что я получил: enter image description here

Так что это заставило меня подумать, что переопределить бэкэнд-путь, возможно, нетправильный способ сделать это.Требуется создать правило перенаправления, которое перенаправит мой «hostname.stackoverflow.com» на «hostname.stackoverflow.com/login.aspx?guestLogin». Но в настройках шлюза приложений мне нужно указать исходный путь (то есть:Я не могу перенаправить с пустого имени хоста на новый URL, я думаю)

Я очень новичок в Azure и еще больше новичок в Application Gateway.Есть ли что-то, что я сделал не так.Есть ли лучший способ сделать это?

iRule, который мне нужно получить в Application Gateway, выглядит следующим образом.

  if { [string tolower [HTTP::host]] equals "hostname.stackoverflow.com" } {

        if {[HTTP::path] eq "/"} {
                 HTTP::redirect "login.aspx?guestLogin"
    }
    elseif {[string tolower [HTTP::uri]] starts_with "/login.aspx?id="} {
                 set tail [string range [HTTP::uri] 12 end]
                 HTTP::redirect "login.aspx?guestLogin&$tail"
    }
  pool default.pool
  }
...