Веб-Шлюз
Обновлено больше недели назад

Веб-Шлюз - это специальный сервис Regery, который позволяет связывать доменные имена с веб-сервером Regery. Веб-Шлюз работает на уровне протокола HTTP и предлагает функции, которые обычно выполняют веб-серверы или обратные прокси-серверы.

Этот сервис используется в качестве базовой технологии для Перенаправления URL.

Структура

Домены

Каждый Веб-Шлюз может обрабатывать один или несколько назначенных ему доменов. Точное разрешенное количество доменов и разрешенных доменных имен зависит от того, где используется Веб-Шлюз и какова квота конечного пользователя. Например, если вы добавляете домену службу Перенаправление URL, то только этот домен и его поддомены могут быть присоединены к Веб-Шлюзу.
Для сервиса Веб-Шлюз example.com и www.example.com - это разные домены.
Ниже пример шлюза, у которого есть два подключенных домена.

Чтобы связать свой домен или поддомен с Веб-Шлюзом, нажмите кнопку «Привязать к домену» и выберите нужный шаблон.
Связывание доменного имени выполняется в два этапа:

  1. Конфигурация связи. Этот шаг зависит от того, какой шаблон вы используете: Перенаправление URL, Маскированное Перенаправление или Шаблон по Умолчанию. Все эти виды шаблонов предоставляют специализированный пользовательский интерфейс, позволяющий максимально быстро настроить требуемое поведение. Вы можете легко изменить конфигурацию или удалить связь после того, как она была создана.

  2. Конфигурация DNS. Это важный шаг, который позволит вам связать ваше доменное имя с Веб-Шлюзом. Если используются серверы Regery DNS, то настройка будет выполнена автоматически. В случае конфликтов ресурсных записей DNS вы увидите интерфейс разрешения конфликтов, который позволит удалить конфликтующие записи. Вы также можете отложить настройку DNS и вернуться к ней позже, но имейте в виду, что без настройки DNS ваш домен не будет работать должным образом и не будет виден из сети Интернет.

Если вы не используете систему Regery DNS, настройка DNS будет выполнена «виртуально» без фактического изменения записей на DNS-серверах. Поэтому вам будет необходимо обратиться к провайдеру DNS вашего домена и скопировать необходимые ресурсные записи DNS.

Директивы

После добавления домена в Веб-Шлюз вы можете начать добавлять директивы.

  • Директива - это определенное правило или действие, которое Веб-Шлюз будет выполнять при обработке HTTP-запросов к вашему домену.

  • Допустимый список директив зависит от того, где используется Веб-Шлюз. Например, служба Перенаправления URL позволяет добавлять только директиву Обработчик URL.

  • Вы можете добавить столько директив, сколько позволяет этот конкретный тип Веб-Шлюза. Также максимальное количество директив зависит от квоты конечного пользователя.

  • Некоторые директивы, например Обработчик URL, позволяют указывать поддирективы.

Обработчик URL

Директива Обработчик URL позволит вам отфильтровать необходимые HTTP запросы сопоставив адрес запроса с требуемым. Если сопоставление прошло успешно, то поддирективы зададут конкретное действие, которое необходимо выполнить для отфильтрованного запроса.
Параметры:


  1. URL-Путь - часть структуры URL. Обычно структура URL-адреса выглядит так: http(s)://<домен>/<URL Путь>?<URL Параметры Запроса>.

  2. Поддирективы. директива Обработчик URL настраивает только фильтрацию HTTP-запросов на основе URL-Пути, а фактическое действие, которое необходимо выполнить, уже настраивается поддирективой. Например, это могут быть поддирективы Перенаправление URL или Маскированное Перенаправление.

  3. Правило сопоставления URL - указывает Веб-Шлюзу какое правило фильтрации использовать:

  • Полное совпадение - путь запроса должен полностью соответствовать пути URL. Если вы укажете путь URL, например, /some-path/example, то директива сработает только для запросов с таким же путем. Пример: http(s)://example.com/some-path/example.

  • Префикс - путь запроса должен начинаться с пути URL. Если вы укажете путь URL-адреса, /some-path/example, то директива сработает только для запросов, которые начинаются с указанного пути. Примеры: http(s)://example.com/some-path/example/any-sub-paths , http (s): //example.com/some-path/example/ , http(s): // example.com/some-path/example

  • Приоритетный Префикс - этот вид правила работает так же, как Префикс, но после обнаружения совпадения все будущие совпадения пропускаются.

  • Регулярное выражение - путь в HTTP запросе должен соответствовать регулярному выражению Perl Compatible Regular Expressions (PCRE). Если вы укажете путь URL как ^/myapp/.+\.php$, тогда все запросы, начинающиеся с /myapp и заканчивающиеся на .php, будут обрабатываться директивой. Пример: http(s)://example.com/myapp/sub-path/index.php

  • Регулярное выражение (без учета регистра) - работает так же, как регулярное выражение, но без учета заглавных и строчных букв. Т.е. эти два запроса будут считаться одинаковыми: http (s): //example.com/myapp/sub-path/index.php и http (s): //example.com/MyAPP/Sub-Path/index.PHP

4. Порядок сопоставления URL-Пути:

  • Шаг 1: ищем по правилу Приоритетный префикс. Если нашли то поиск останавливается.

  • Шаг 2: ищем по правилам Префикс и Полное совпадение. Если нашли, то поиск не останавливается.

  • Шаг 3: ищем по регулярным выражениям в том порядке, в котором они определены. Если нашли, то используем директиву, иначе используем директиву из шага 2.

Итак, правило Приоритетный префикс имеет наивысший приоритет, затем идут регулярные выражения, а затем Полное совпадение и Префикс.

5. Описание - редактируемое поле с произвольным текстом, в котором можно дать краткое описание того, что делает директива.

Перенаправление URL

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

  1. Тип перенаправления - код ответа HTTP, который пользователь получит от Веб-Шлюза:

  • Временный (302) - этот тип перенаправления инструктирует браузер не кэшировать результаты перенаправления. Это позволит протестировать перенаправление и создать непродолжительные перенаправления без загрязнения кеша браузера. Этот параметр обрабатывается медленнее, поскольку каждый раз, когда пользователь нажимает на ваши ссылки, отправляется дополнительный запрос к серверу.

  • Постоянный (301) - этот вид перенаправления заставляет браузер кэшировать результаты перенаправления. Вернувшиеся посетители вашей ссылки увидят результат перенаправления намного быстрее

2. Адрес назначения (URL) - URL, который будет использоваться как адрес назначения при перенаправлении. Этот параметр позволяет использовать переменные Веб-Шлюза.

Директива Перенаправление URL доступна для использования только как поддиректива Обработчика URL.

Маскированное Перенаправление

Эта директива предписывает веб-шлюзу вернуть HTML-страницу запрашивающему клиенту (браузеру), которая содержит внутри тег iframe, в который встроен целевой URL. Эта технология позволяет открыть страницу под нужным доменным именем (без изменения поля адреса в браузере).
Параметры:

  1. HTTP Код - код ответа HTTP. По умолчанию это ОК (200). Другие допустимые значения: Нет контента (204), Не найден (404).

  2. Адрес назначения (URL) - URL, который будет использоваться как адрес назначения при перенаправлении. Этот параметр позволяет использовать переменные Веб-Шлюза.

  3. Заголовок - текст внутри HTML-тега title.

  4. Описание - метатег описания.

  5. Ключевые слова - текст внутри метатега ключевых слов.

Директива Маскированное Перенаправление доступна для использования только как поддиректива Обработчика URL.

Не каждый URL можно использовать в качестве целевого адреса. Иногда администраторы сайтов запрещают встраивать веб-страницы в тег iframe.

Переменные

Некоторые директивы Веб-Шлюза могут использовать встроенные и определяемые пользователем переменные. Наиболее частое использование: шаблон URL-адреса для Перенаправления URL.

Пользовательские переменные

Пользовательские переменные обычно вводятся с помощью регулярных выражений, которые могут быть определены, например, в Обработчике URL-пути. Для определения переменных ваше регулярное выражение должно содержать группу с именем в формате var_ <буквенно-цифровая строка> .
Пример регулярного выражения: /subpath/(?<var_path>.*) Это регулярное выражение создаёт переменную var_path, которую теперь можно использовать, например, в правиле перенаправления URL-адреса. Значение переменной будет равно конечной части пути URL, которая следует после префикса /subpath. Например, этот URL http://example.com/subpath/hello-world.php создаст переменную var_path, равную hello-world.php

Встроенные переменные

Есть набор встроенных переменных:

  • scheme - протокол запроса, http или https. Пример: для адреса http://some-example.com/path?p=parameter, переменная будет иметь значение https.

  • host - заголовок запроса Host или если он отсутствует - доменное имя. Пример: для адреса http://some-example.com/path?p=parameter, переменная будет иметь значение some-example.com.

  • uri - URI, который в данный момент обрабатывается Веб-Шлюзом. Пример: для адреса http://some-example.com/path?p=parameter, переменная будет иметь значение /path.

  • args - аргументы в строке запроса. Пример: для адреса https://some-example.com/path?p=parameter, переменная будет иметь значение p=parameter.

  • request_uri - изначальный URI запроса с сохранением параметров и кодировки. Пример: для адреса https://some-example.com/path?p=parameter, переменная будет иметь значение /path?p=parameter.

Как использовать переменные

Для того, чтобы вставить переменную, например, как адрес назначения при Перенаправлении URL, используйте следующий формат: ${<имя переменной>}

В примере ниже будет создано правило перенаправления URL-адреса, использующее встроенные и определяемые пользователем переменные.
Правило перенаправляет посетителей с адреса http://example.com/subpath/hello?p=world на адрес https://another-example.com/subpath/hello/hello?p=world

Нашли ответ на свой вопрос?