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

59 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
status: seed
type: guide
tags:
- admin
- nginx
- reverse-proxy
- homelab
created: 2026-05-18
updated: 2026-05-18
title: Nginx Proxy Manager под path
source: "[[Лайфхак для NPM. Как проксировать не на поддомен а на под путь]]"
---
# Nginx Proxy Manager под path
Кейс: сервис нужно опубликовать не на отдельном поддомене вида `service.domain.ru`, а в подкаталоге основного домена: `domain.ru/<path>`.
## Решение
В Nginx Proxy Manager нужно добавить `location` для нужного маршрута и в дополнительных настройках срезать prefix перед проксированием:
```nginx
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 - Дополнительные знания]] — эксплуатация сервисов в контейнерах.