---
title: 'Настроить редирект HTTP → HTTPS'
sidebar_label: 'Настроить редирект HTTP → HTTPS'
sidebar_position: 1
description: 'Как настроить правило для перенаправления HTTP-запросов на HTTPS-версию сайта'
---

import Formbricks from '@theme/MDXComponents/Formbricks'

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from 'docs-kit/components'

# Настроить редирект HTTP → HTTPS

<Tabs queryString="redirect-http-https">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. Убедитесь, что [создали балансировщик нагрузки](/cloud-servers/load-balancers/create-load-balancer.mdx) с [HTTPS-правилом](/cloud-servers/load-balancers/about-load-balancers.mdx#rules), которое будет принимать запросы к HTTPS-версии сайта. Доступные балансировщики можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/lbaas/): в верхнем меню нажмите **Продукты** → **Облачные серверы** → **Балансировщики** → вкладка **Балансировщики**.

    2. В [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.

    3. Перейдите в раздел **Балансировщики** → вкладка **Балансировщики**.

    4. Откройте страницу балансировщика.

    5. Нажмите **Создать правило**.

    6. Выберите [протокол](/cloud-servers/load-balancers/about-load-balancers.mdx#protocols) приема трафика — HTTP. Будет автоматически выбран стандартный порт 80, на котором балансировщик будет слушать трафик.

    7. Выберите [целевую группу](/cloud-servers/load-balancers/about-load-balancers.mdx#target-groups) по умолчанию — туда будет направляться трафик, который не попал под [HTTP-политики](/cloud-servers/load-balancers/about-load-balancers.mdx#http-policies) в правиле. Если в списке нет доступных целевых групп, нажмите **Новая целевая группа** и [создайте целевую группу](/cloud-servers/load-balancers/target-groups/create-target-group.mdx) с протоколом назначения трафика HTTP и портом 80. Если вы хотите отбрасывать трафик, не попавший под HTTP-политику, выберите **Без целевой группы**.

    8. Отметьте [заголовки HTTP-запросов](/cloud-servers/load-balancers/about-load-balancers.mdx#http-request-headers), которые нужно передавать на серверы.

    9. Чтобы создать в правиле [HTTP-политику](/cloud-servers/load-balancers/about-load-balancers.mdx#http-policies), нажмите **Добавить новую политику**.

    10. Выберите условие проверки: **HOSTNAME** — **EQUAL TO**.

    11. Введите имя домена, например `example.com`.

    12. Выберите действие **Редирект на префикс URL**.

    13. Введите префикс URL — часть, которая будет заменять протокол и доменное имя в пришедшем запросе, например `https://example.com`.

    14. Опционально: измените имя политики или оставьте сформированное по умолчанию.

    15. Нажмите **Добавить**.

    16. Опционально: откройте блок **Расширенные настройки правила** и укажите [настройки соединений](/cloud-servers/load-balancers/about-load-balancers.mdx#connection-settings):

        * для входящих запросов на балансировщик — укажите таймаут соединения и максимум соединений;
        * для запросов от балансировщика к серверам — укажите таймаут соединения, таймаут неактивности и таймаут ожидания TCP-пакетов.

    17. Нажмите **Создать**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. Убедитесь, что [создали балансировщик нагрузки](/cloud-servers/load-balancers/create-load-balancer.mdx) с [HTTPS-правилом](/cloud-servers/load-balancers/about-load-balancers.mdx#rules), которое будет принимать запросы к HTTPS-версии сайта. Доступные балансировщики можно посмотреть с помощью команды `openstack loadbalancer list`.

    2. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

    3. Создайте [правило](/cloud-servers/load-balancers/about-load-balancers.mdx#rules) для балансировщика с протоколом HTTP и портом 80:

       ```bash
       openstack loadbalancer listener create \
         --name <listener_name> \
         --protocol HTTP \
         --protocol-port 80 \
         --default-pool <default_pool> \
         <loadbalancer>
       ```

       Укажите:

       * `<listener_name>` — имя правила;
       * опционально: `--default-pool <default_pool>` — ID или имя [целевой группы](/cloud-servers/load-balancers/about-load-balancers.mdx#target-groups) по умолчанию, куда будет направляться трафик, не попавший под [HTTP-политики](/cloud-servers/load-balancers/about-load-balancers.mdx#http-policies) в правиле. Список групп можно посмотреть с помощью команды `openstack loadbalancer pool list`. Если у вас нет подходящей целевой группы, [создайте ее](/cloud-servers/load-balancers/target-groups/create-target-group.mdx). Если не указать параметр, не попавший под правило трафик будет отбрасываться;
       * `<loadbalancer>` — ID или имя балансировщика нагрузки. Список можно посмотреть с помощью команды `openstack loadbalancer list`.

    4. Создайте [HTTP-политику](/cloud-servers/load-balancers/about-load-balancers.mdx#http-policies) в правиле:

       ```bash
       openstack loadbalancer l7policy create \
         --action REDIRECT_PREFIX \
         --redirect-prefix <prefix_domain_name> \
         --name <policy_name> \
         <listener>
       ```

       Укажите:

       * `<prefix_domain_name>` — домен вида `https://example.com/`;
       * `<policy_name>` — имя L7-политики;
       * `<listener>` — ID или имя правила. Список можно посмотреть с помощью команды `openstack loadbalancer listener list`.

    5. Создайте условие в HTTP-политике:

       ```bash
       openstack loadbalancer l7rule create \
         --compare-type EQUAL_TO \
         --type HOST_NAME \
         --value <domain_name> \
         <policy>
       ```

       Укажите:

       * `<domain_name>` — домен вида `example.com`;
       * `<policy>` — ID или имя L7-политики. Список можно посмотреть с помощью команды `openstack loadbalancer l7policy list`.
  </TabItem>
</Tabs>

<Formbricks />
