Caddy практический стенд
Один вход · несколько приложений

Сайт, PHP и Node.js за одним Caddy

Перед вами настоящий локальный стенд. Браузер обращается к Caddy, а сервер выбирает обработчик: статический файл, PHP-FPM или Node.js. Все запросы остаются внутри вашего компьютера.

Браузер :8088→Caddy :80→PHP-FPM :9000 / Node.js :3000
01

PHP: форма и сохранённые заявки

Создайте учебную заявку, получите ответ сервера и обновите страницу. PHP исполняется отдельным FPM-процессом; исходник не отдаётся браузеру.

Открыть PHP-пример →

Маршрут /php/* удаляет префикс перед FastCGI. Файлы доступны Caddy и PHP по одинаковому пути.

02

Node.js: JSON API и поток событий

Найдите услугу, добавьте учебную операцию и запустите серверный поток прогресса. HTTP и SSE проходят через reverse proxy.

Открыть Node.js-пример →

/api/* сохраняется для backend. /events передаёт пять событий от Node.js.

Как меняется путь запроса

Сравните два адреса. В JSON поле url показывает путь, который действительно получил Node.js.

Статика, ответ сервера и диагностика

Этот адрес использует HTTP на loopback. Отдельный опыт с HTTPS описан в README: локальный CA и проверка через curl --cacert без изменения системного доверия.

Данные синтетические. Публичный HTTPS требует вашего домена, DNS, доступных портов и постоянного хранилища сертификатов. Этот стенд сам не публикуется в интернет.