Порты 80 и 443 заняты
Порт прокси занят Lerd, Laravel Herd, Valet, Apache, Caddy, MAMP, DDEV или контейнером: как Joppa его называет и предлагает правильный способ его остановить.
Прокси Joppa нужен порт 443 (HTTPS) и, для перенаправления, порт 80. Один порт может слушать только одна программа: если их уже занимает другой локальный сервер, Joppa не может запустить свой прокси. Тогда он сообщает, кто их занимает, и предлагает остановить его так, как принято у этого инструмента, а не убивать процесс вслепую.
Баннер
Когда прокси не может запуститься, потому что порт занят, красный баннер вверху окна показывает «Порт 443 занят: …» с тем, что нашёл Joppa: названием инструмента, PID, пользователем и путём к исполняемому файлу (или контейнером и его средой выполнения). Остальное делает кнопка: она останавливает занявшую порт программу, ждёт, пока порт освободится, и запускает прокси.

| Кто занимает порт | Кнопка | Что делает Joppa |
|---|---|---|
| Lerd (его nginx в Podman) | Остановить Lerd и запустить | lerd stop |
| Laravel Herd | Остановить Laravel Herd и запустить | herd stop (без команды herd выйдите из Herd через его меню в строке меню) |
| Laravel Valet (nginx из Homebrew, запущенный от root) | Остановить Laravel Valet и запустить | brew services stop nginx от root, с вашим паролем |
Apache из macOS (/usr/sbin/httpd) |
Остановить Apache (macOS) и запустить | apachectl stop, с вашим паролем |
| Сервис Homebrew (nginx, httpd, caddy…) | Остановить … и запустить | brew services stop <формула> |
| Сервис systemd (Linux: nginx, apache2, caddy…) | Остановить … и запустить | systemctl stop <юнит>, с вашим паролем |
| Caddy | Остановить Caddy и запустить | caddy stop |
| MAMP | Остановить MAMP и запустить | его скрипт stopApache.sh, с вашим паролем |
DDEV (его маршрутизатор ddev-router) |
Остановить DDEV и запустить | ddev poweroff |
| Laravel Sail или Traefik в контейнере | Остановить Laravel Sail и запустить (или Traefik) | docker stop <контейнер> (или podman stop) |
| Другой контейнер | Остановить контейнер и запустить | docker stop <контейнер> (или podman stop) |
| Другой ваш процесс | Завершить … и запустить | Отправляет ему сигнал остановки после подтверждения |
Рядом с кнопкой показана равнозначная команда, чтобы при желании выполнить её самостоятельно. Прежде чем действовать, Joppa проверяет, что занявшая порт программа не сменилась с момента показа.
Когда порт занимает Lerd, Herd, DDEV или Sail, баннер также предлагает Перенести его сайты в Joppa…: см. Перенос из Lerd, Herd, DDEV или Sail.
Занят только порт 80
Если занят только порт 80, прокси всё равно запускается: HTTPS работает, но http:// больше не перенаправляет на https://. Тогда Настройки › Proxy называют программу, занявшую порт 80, и предлагают Освободить порт 80: Joppa останавливает её тем же способом, затем перезапускает свой прокси с перенаправлением.
Lerd
Lerd тоже обслуживает сайты .test на портах 80 и 443: оба не могут работать одновременно. Если при запуске прокси порты занимает nginx Lerd, баннер предлагает Остановить Lerd и запустить.
Остановка Lerd останавливает его контейнеры (nginx, PHP-FPM, сервисы), но не его разрешение DNS: ваши домены .test продолжают указывать на ваш компьютер, и Joppa оставляет его на месте (см. Разрешение доменов .test).