Зворотний проксі та URL base
Налаштування
Розмісти HolyArrs за адресою на кшталт https://home.example/holyarrs за своїм зворотним проксі.
Зворотний проксі — це вебсервер перед твоїми застосунками, який спрямовує кожну адресу до потрібного контейнера. URL base — це шлях, під яким працює HolyArrs.
Як задати шлях
Посилання на Як задати шлях-
Додай шлях у файл compose:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Перезапусти контейнер.
-
Додай правило проксі з розділу Приклади проксі.
-
Відкрий
https://home.example/holyarrs/. Ти маєш побачити сторінку входу. Settings > This app (Налаштування > Цей застосунок) показує шлях, який зараз використовується.
Варіанти
Посилання на ВаріантиДе задати шлях
Посилання на Де задати шлях| Де | Коли діє |
|---|---|
HOLYARRS_URL_BASE |
Під час запуску. Має перевагу над іншими. |
Прапор -url-base /holyarrs |
Під час запуску, якщо змінну не задано. |
| Settings > This app | Під час наступного запуску, лише якщо не задано ні змінну, ні прапор. |
Приклади проксі
Посилання на Приклади проксіnginx-proxy-manager. Створи проксі-хост для свого домену, потім додай власну локацію:
- Location:
/holyarrs - Forward hostname:
holyarrs, порт6262. Без скісної риски наприкінці, інакше шлях відсікається. - У віконці зі значком шестірні для цієї локації:
proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_buffering off;proxy_read_timeout 1h;Traefik. Не додавай middleware StripPrefix.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Використай handle. handle_path відсікає шлях.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Імена хостів і адреси проксі
Посилання на Імена хостів і адреси проксі- Якщо люди заходять у HolyArrs за ім’ям хоста, додай його в
HOLYARRS_ALLOWED_HOSTS. - Якщо проксі додає
X-Forwarded-For, додай адресу проксі вHOLYARRS_TRUSTED_PROXIES. Без цього вхід не може визначити, хто з твоєї домашньої мережі.
Якщо не працює
Посилання на Якщо не працює| Ознака | Причина | Рішення |
|---|---|---|
| Кожна сторінка каже, що нічого не знайдено | Проксі відсікає шлях | Прибери налаштування відсікання або скісну риску наприкінці. |
| Живі оновлення не надходять | Проксі буферизує відповіді | Вимкни буферизацію (proxy_buffering off, flush_interval -1). |
| Збережений шлях заблокував тобі вхід | Збережений шлях хибний | Запусти з HOLYARRS_URL_BASE=/, щоб його проігнорувати. |
| Вхід вважає, що ти поза своєю мережею | Проксі не довірений | Передавай X-Real-IP і X-Forwarded-For та задай HOLYARRS_TRUSTED_PROXIES. |
Більше рішень: Усунення проблем.
Для досвідчених
Посилання на Для досвідченихПравила для шляху
- Дозволені символи: літери, цифри,
-,_,.і/. Без..і//. holyarrs,/holyarrsі/holyarrs/означають одне й те саме —/holyarrs.- Збережений шлях, що не відповідає правилам, ігнорується.
- Усе переходить під цей шлях: сторінки, API, живі оновлення, вхід і посилання, які будує HolyArrs (запрошення, стрічка календаря).
/healthzі/readyzвідповідають і в корені, тож власна перевірка справності image продовжує працювати.- Будь-яка інша адреса поза шляхом відповідає, що нічого не знайдено.
Що має робити проксі
| Вимога | Навіщо |
|---|---|
| Передавати шлях без змін | HolyArrs маршрутизує за повним шляхом. |
Зберігати заголовок Host |
Його використовують перевірки хоста та побудовані посилання. |
| Без буферизації відповідей | Живі оновлення передаються однією відкритою відповіддю. |
| Довгий тайм-аут читання (1 год) | Потік живих оновлень лишається відкритим. |
Пов’язане
Посилання на Пов’язанеHolyArrs безкоштовний. Якщо він заощадив тобі час, познач його зіркою на GitHub, підтримай проєкт або пригости мене кавою.