# Настройки

подсказка

Этот раздел доступен **Основателю**, **Владельцам** и **Администраторам**.

На вкладке **Настройки приложения** собраны параметры, которые влияют на то, как прокси обрабатывает запросы к upstream — заголовки, пути, TLS, CORS и внешний вид страницы входа.

![Все настройки приложения](/docs/img/apps/settings_all.png)

## Видимость

Определяет, видят ли участники команды это приложение в [пользовательском каталоге](https://my.tuna.am/apps).

![Настройка видимости](/docs/img/apps/settings_visibility.png)

Если выключить — приложение исчезнет из каталога, но продолжит работать по своему адресу. Полезно для внутренних сервисов, к которым обращаются только через API или автоматизацию.

## Логотип и страница блокировки

![Логотип и страница блокировки](/docs/img/apps/settings_logo.png)

* **Ссылка на логотип** — URL изображения, которое появится на странице входа вместо стандартного. Помогает пользователям сразу понять, куда они попали.
* **Адрес страницы блокировки** — вместо стандартной страницы «доступ запрещён» пользователь будет перенаправлен по этому адресу. Например, на корпоративную страницу поддержки.

## Заголовок Host

![Настройка заголовка Host](/docs/img/apps/settings_host.png)

* **Принудительно установить заголовок Host** — по умолчанию upstream получает Host из своего URL. Если ваш бэкенд ожидает конкретный Host (например, nginx с виртуальными хостами), укажите его здесь.
* **Передать оригинальный Host из запроса клиента** — upstream увидит тот же Host, что ввёл пользователь в браузере. Перекрывает Host Override.

## Путь

Управление URL-путём запроса перед проксированием.

![Настройка пути](/docs/img/apps/settings_path.png)

* **Вырезать префикс** — удаляет указанный префикс из пути. Пример: при значении `/api/v1` запрос `/api/v1/users` пойдёт на upstream как `/users`.
* **Добавить префикс** — приклеивает префикс к пути перед отправкой на upstream. Применяется после вырезания.

к сведению

Комбинация: вырезать `/api/v1` + добавить `/internal` → запрос `/api/v1/users` пойдёт на upstream как `/internal/users`.

## Лимит размера тела запроса

![Лимит размера тела запроса](/docs/img/apps/settings_body.png)

Максимальный размер тела HTTP-запроса от клиента (upload) в байтах. По умолчанию — 32 МиБ (33554432 байт). Если ваш сервис принимает большие файлы, увеличьте значение. `0` — без ограничения.

## CORS

Если ваш фронтенд живёт на другом домене и обращается к приложению через fetch/XMLHttpRequest — включите CORS. Preflight-запросы (OPTIONS) при этом проходят без авторизации.

![CORS выключен](/docs/img/apps/settings_cors.png)

После включения появляются параметры:

![CORS включён](/docs/img/apps/settings_cors_enabled.png)

| Параметр                  | Описание                                                                                      |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| **Разрешённые источники** | Домены, с которых разрешены запросы. По одному на строку, `*` — все                           |
| **Разрешённые методы**    | HTTP-методы: GET, POST, PUT, DELETE и др.                                                     |
| **Разрешённые заголовки** | Заголовки, которые клиент может отправлять                                                    |
| **Разрешить Cookies**     | Позволяет передавать cookies и заголовки авторизации. Нельзя комбинировать с `*` в источниках |
| **Кэш Preflight**         | Сколько секунд браузер может кэшировать ответ на OPTIONS                                      |

## Заголовки запроса и ответа

Добавьте пользовательские заголовки к запросам (при передаче на upstream) и ответам (перед отправкой клиенту). Типичные примеры: `X-Custom-Header` для идентификации источника, `Strict-Transport-Security` для HSTS.

![Пользовательские заголовки](/docs/img/apps/settings_headers.png)

## TLS до upstream

Настройки TLS-соединения между прокси и вашим бэкендом.

![TLS до upstream](/docs/img/apps/settings_tls.png)

* **Не проверять TLS сертификат upstream** — включайте только для тестовых окружений или бэкендов с самоподписанным сертификатом.

### Клиентский сертификат (mTLS)

Если ваш upstream требует взаимную аутентификацию (mTLS), прокси может предъявить клиентский сертификат. Это позволяет upstream убедиться, что запрос пришёл именно через Tuna, а не напрямую.

* **Клиентский сертификат (PEM)** — сертификат, который прокси предъявляет upstream.
* **Приватный ключ (PEM)** — ключ к сертификату.
* **Корневой CA (PEM, опционально)** — корневой сертификат, если upstream использует собственный CA.
