F5 Big-IP iRule - перенаправление HTTP

Я только начал работать с Big-IP F5, и у меня есть вопрос о iRules и HTTP-перенаправлениях. Мы переходим к разгрузке нашего SSL с наших веб-серверов и на F5, наше приложение в его нынешнем виде заставляет несколько страниц нашего сайта работать только в HTTPS. Я хочу перенести это из приложения и на F5, но я не смог понять, как мы, поэтому в качестве примера я бы хотел, чтобы любой, кто пытается войти, был вынужден использовать HTTPS, например, http://"mysite"/login.aspx = https://"mysite"/login.aspx.

Я сделал несколько поисков в Google, которые дали мне хорошую информацию по этому вопросу, но я еще не нашел то, что я ищу, если кто-то сделал это и хотел бы поделиться со мной, что было бы здорово

2 ответа

Решение

Я понял, как делать то, что я хочу

_when HTTP_REQUEST {
    if { [string tolower [HTTP::uri]] starts_with "/login.aspx" } {
        HTTP::respond 302 Location "https://[getfield [HTTP::host] : "1"][HTTP::uri]"_
    }
}

Хотя спасибо за помощь, это привело меня в правильном направлении.

Существует несколько способов использования iRules для перенаправления HTTP.

Вики-страница DevCentral HTTP to HTTPS Redirect содержит список примеров (и если вы будете искать на сайте, вы найдете много других примеров и обсуждений того, как выполнять более сложные перенаправления с помощью iRules).

В вашем примере iRule будет просто:

1 when HTTP_REQUEST {
2 HTTP::respond 301 Location "https://[getfield [HTTP::host] : 1][HTTP::uri]"
3 }

Примените это к виртуальному серверу (HTTP VS, а не HTTPS VS, или вы создадите бесконечный цикл перенаправления;-)), и все будет хорошо.

Другие вопросы по тегам