---
title: Обратный прокси
description: Разместите панель 3x-ui и подписку за Nginx или Caddy с TLS от Let's Encrypt.
icon: Waypoints
---

Обратный прокси позволяет отдавать панель и подписку на аккуратном домене с
автоматическим HTTPS и скрывать реальные порты за портами 80/443. Хотите, чтобы
панель завершала TLS напрямую? Тогда получите сертификат через
[меню SSL `x-ui`](/docs/config/ssl-certificates).

## Сгенерировать конфигурацию

<ReverseProxyGenerator />

<Callout type="info">
  Панель использует WebSockets для обновлений в реальном времени, поэтому прокси
  должен передавать заголовки `Upgrade`/`Connection` (приведённая выше
  конфигурация Nginx уже это делает). Caddy обрабатывает обновления WebSocket
  автоматически.
</Callout>

## Nginx + сертификат

С Nginx получите сертификат с помощью `certbot` (или `acme.sh`) и укажите его в
блоке server:

```bash title="certbot"
certbot certonly --nginx -d panel.example.com
```

Перезагрузите Nginx после установки сертификата и настройте автоматическое
продление (`certbot renew` по умолчанию запускается по таймеру).

## Caddy

Caddy получает и продлевает сертификаты за вас — направьте Caddyfile на панель,
и всё просто заработает:

```text title="Caddyfile"
panel.example.com {
    reverse_proxy 127.0.0.1:2053
}
```

## Советы

- Сохраняйте **базовый веб-путь** панели даже за прокси; это эшелонированная защита.
- Если вы завершаете TLS на прокси, возможно, стоит выставить `XUI_SKIP_HSTS=true` на
  панели — см. [справочник по переменным окружения](/docs/reference/env-vars).
- Проксируйте также сервер [подписки](/docs/config/subscription), чтобы его содержимое
  отдавалось по HTTPS.
