Домены
Как добавлять, включать и удалять домены .test, что означает их состояние и как настроить Vite, Astro или Laravel, чтобы они их принимали.
Вкладка Домены (D) перечисляет домены проекта. Каждый из них работает по HTTPS и перенаправляется на свой локальный сервер.

Таблица доменов
| Столбец | Содержимое |
|---|---|
| Состояние | Индикатор здоровья домена |
| Домен | https://app.monprojet.test ↗, кликабельный |
| Цель | → localhost:5173. Щёлкните, чтобы сменить порт: введите новый и нажмите Enter (Esc отменяет). Процесс, который обслуживал этот порт, следует за ним (его команда или переменная PORT) и перезапускается, если он работал. Если Laravel запускает Vite (npm run dev), далее идёт «+ Vite :5173»: см. Общий доступ к проекту Laravel |
| Кем запущен | Процесс, который обслуживает этот порт, если он есть |
| Включён | Переключатель: выключенный домен больше не отвечает, но не удаляется |
Действия в каждой строке: запустить или остановить процесс, открыть доступ к домену (в локальной сети или по публичной ссылке), скопировать URL, удалить домен. Домен с открытым доступом помечен значком сеть или публично.
Состояния
| Состояние | Значение |
|---|---|
| в сети | Сервер разработки отвечает на своём порту. Если его запустил не Joppa, далее идёт «· запущен вне Joppa»: тогда у строки нет кнопки остановки |
| не в сети | На порту никто не слушает |
| выключен | Домен отключён (переключатель Включён) |
| нет прокси | Прокси остановлен: ни один домен не отвечает |
| запускается… | Процесс, который обслуживает этот порт, запускается: рядом крутится индикатор — с момента нажатия ▶ и до тех пор, пока процесс не ответит |
| сбой процесса | Процесс аварийно завершился |
| остановлен | Процесс остановлен |
Сервисы и процессы
Под таблицей, перед Данные Docker Compose, два раздела один под другим кратко показывают, на чём работает проект:
- Сервисы (подсказка ⓘ уточняет: это сервисы, которые запускает Joppa и которые общие для ваших проектов, не путать с процессами проекта): «Общие базы данных и кеши, к которым подключён этот проект.» Каждый подключённый сервис с индикатором, портом и состоянием; Сервисы → открывает вкладку Сервисы.
- Процессы: «То, что проект запускает сам: серверы разработки, воркеры, Docker Compose.» Включённые процессы и их состояние; Процессы → открывает вкладку Процессы.
Добавление домена
Под таблицей заполните два поля и нажмите + Добавить (клавиша A переводит фокус в поле):
- Поддомен (admin) или полный домен:
adminпревращается вadmin.monprojet.test; имя с точкой (docs.autre.test) берётся как есть. - Порт:
3000превращается в цельhttp://localhost:3000.
В именах допустимы буквы a–z, цифры и дефисы, до 63 символов в сегменте и до 253 всего. У двух проектов не может быть одного и того же домена.
Настройки фреймворка
В самом верху вкладки, над доменами, блок Исправить в проекте сообщает о том, что помешало бы проекту отвечать на своём домене, и показывает код, который нужно добавить.
Vite и Astro: allowedHosts
Vite (и Astro, который его использует) отклоняют запросы к незнакомому домену. Joppa предлагает добавить:
// vite.config.ts
export default defineConfig({
server: { allowedHosts: [".monprojet.test"] },
});
// astro.config.mjs
export default defineConfig({
vite: { server: { allowedHosts: [".monprojet.test"] } },
});
Исправить файл открывает предпросмотр, затем Записать файл вставляет только эти строки; остальная часть файла не меняется. Если конфигурация имеет необычную форму, Joppa её не изменяет: нажмите Скопировать код и вставьте его сами. Другой вариант, не трогая файл: переменная __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS=.monprojet.test.
Перезапустите сервер разработки, чтобы он перечитал конфигурацию.
Laravel за прокси
Прокси Joppa общается с вашим сервером по http и сообщает об исходном https заголовками X-Forwarded-*. Laravel их игнорирует, пока не доверяет прокси, и тогда генерирует URL и перенаправления с http://.
Вкладка Домены сообщает об этом в блоке Исправить в проекте со ссылкой на эту страницу. Исправить файл показывает diff и затем записывает две вещи:
- в код — строку, которая читает
TRUSTED_PROXIESи ничего не делает, пока эта переменная пуста; - в
.env, который не коммитится, —TRUSTED_PROXIES=127.0.0.1: прокси Joppa подключается с вашей машины, и больше никому доверие не оказывается.
Строка попадает в ваш репозиторий, но в продакшене ничего не меняется: без TRUSTED_PROXIES в его .env Laravel ведёт себя как по умолчанию. Если ваш сервер стоит за прокси, укажите там эту переменную (его адрес или несколько адресов через запятую).
Место зависит от версии Laravel:
-
Laravel 11 и новее: в начале
boot()вapp/Providers/AppServiceProvider.php. Не вbootstrap/app.php, который читается раньше.env.if ($proxies = env('TRUSTED_PROXIES')) { \Illuminate\Http\Middleware\TrustProxies::at($proxies); } -
Laravel 9 и 10: метод
proxies()вapp/Http/Middleware/TrustProxies.php.protected function proxies() { return env('TRUSTED_PROXIES') ?: $this->proxies; }
Предупреждение исчезает, если проект уже доверяет прокси (trustProxies(...) в bootstrap/app.php, заполненный $proxies…). Если файл имеет необычную форму, Joppa его не изменяет: нажмите Скопировать код и вставьте его сами.
Передаваемые заголовки
Прокси сохраняет исходный заголовок Host (app.monprojet.test) и добавляет заголовки X-Forwarded-*: X-Forwarded-Proto: https, X-Forwarded-Host, X-Forwarded-Port: 443 и X-Forwarded-For. См. HTTPS-прокси.