Files
SecondBrain/90 Library/01 Admin/Nginx Proxy Manager под path.md
T
2026-05-18 21:11:52 +03:00

2.6 KiB
Raw Blame History

status, type, tags, created, updated, title, source
status type tags created updated title source
seed guide
admin
nginx
reverse-proxy
homelab
2026-05-18 2026-05-18 Nginx Proxy Manager под path Лайфхак для NPM. Как проксировать не на поддомен а на под путь

Nginx Proxy Manager под path

Кейс: сервис нужно опубликовать не на отдельном поддомене вида service.domain.ru, а в подкаталоге основного домена: domain.ru/<path>.

Решение

В Nginx Proxy Manager нужно добавить location для нужного маршрута и в дополнительных настройках срезать prefix перед проксированием:

rewrite ^/<path>/?(.*)$ /$1 break;

Смысл правила:

  • пользователь открывает domain.ru/<path>/...;
  • Nginx убирает /<path> из URI;
  • upstream получает путь так, будто сервис открыт в корне /.

Когда это нужно

Подход полезен, если:

  • не хочется заводить отдельный поддомен под мелкий сервис;
  • сервис живет за reverse proxy в homelab;
  • внешний URL должен быть компактным;
  • нужно спрятать несколько внутренних сервисов за одним доменом.

Ограничения

Не каждый сервис нормально работает под path-prefix. Возможные проблемы:

  • абсолютные ссылки на /assets, /api, /static;
  • WebSocket-маршруты;
  • OAuth/callback URL;
  • hardcoded base URL внутри приложения;
  • редиректы на /, из-за которых пользователь выпадает из /<path>.

Если приложение поддерживает настройку base path/base URL, лучше указать ее явно. Rewrite в proxy — рабочий хак, но не полноценная замена поддержке subpath внутри приложения.

Связанные заметки

  • Infrastructure — ada-dev — где NPM используется как публичный и локальный reverse proxy.
  • CA и NGINX — TLS и базовая настройка Nginx.
  • Docker - Дополнительные знания — эксплуатация сервисов в контейнерах.