Reverse proxy et URL de base
Configuration
Placez HolyArrs à une adresse comme https://home.example/holyarrs derrière votre reverse proxy.
Un reverse proxy est le serveur web placé devant vos applications, qui envoie chaque adresse vers le bon conteneur. L’URL de base est le chemin sous lequel HolyArrs est servi.
Définir le chemin
Lien vers Définir le chemin-
Ajoutez le chemin à votre fichier compose :
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Redémarrez le conteneur.
-
Ajoutez une règle de proxy tirée des Exemples de proxy.
-
Ouvrez
https://home.example/holyarrs/. Vous devriez voir la page de connexion. Settings > This app (Paramètres > Cette application) affiche le chemin utilisé.
Options
Lien vers OptionsOù définir le chemin
Lien vers Où définir le chemin| Où | Prise en compte |
|---|---|
HOLYARRS_URL_BASE |
Au démarrage. Passe avant les autres. |
Option -url-base /holyarrs |
Au démarrage, quand la variable n’est pas définie. |
| Settings > This app | Au prochain démarrage, seulement quand ni la variable ni l’option ne sont définies. |
Exemples de proxy
Lien vers Exemples de proxynginx-proxy-manager. Créez un proxy host pour votre domaine, puis ajoutez une custom location :
- Location :
/holyarrs - Forward hostname
holyarrs, port6262. Pas de barre oblique à la fin, sinon le chemin est retiré. - Dans la zone de l’engrenage de cette location :
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. N’ajoutez pas de middleware StripPrefix.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Utilisez handle. handle_path retire le chemin.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Noms d’hôte et adresses de proxy
Lien vers Noms d’hôte et adresses de proxy- Si l’on accède à HolyArrs par un nom d’hôte, ajoutez-le à
HOLYARRS_ALLOWED_HOSTS. - Si le proxy ajoute
X-Forwarded-For, ajoutez l’adresse du proxy àHOLYARRS_TRUSTED_PROXIES. Sans cela, la connexion ne peut pas savoir qui se trouve sur votre réseau domestique.
Si ça ne fonctionne pas
Lien vers Si ça ne fonctionne pas| Symptôme | Cause | Solution |
|---|---|---|
| Toutes les pages répondent « not found » | Le proxy retire le chemin | Supprimez le paramètre qui retire le chemin, ou la barre oblique finale. |
| Les mises à jour en direct n’arrivent jamais | Le proxy met les réponses en tampon | Désactivez la mise en tampon (proxy_buffering off, flush_interval -1). |
| Un chemin enregistré vous a bloqué l’accès | Le chemin enregistré est faux | Démarrez avec HOLYARRS_URL_BASE=/ pour l’ignorer. |
| La connexion vous considère comme hors de votre réseau | Le proxy n’est pas approuvé | Envoyez X-Real-IP et X-Forwarded-For, et définissez HOLYARRS_TRUSTED_PROXIES. |
Plus de solutions : Dépannage.
Pour les experts
Lien vers Pour les expertsRègles du chemin
- Caractères autorisés : lettres, chiffres,
-,_,.et/. Pas de..ni de//. holyarrs,/holyarrset/holyarrs/veulent tous dire/holyarrs.- Un chemin enregistré qui n’est pas valide est ignoré.
- Tout passe sous le chemin : les pages, l’API, les mises à jour en direct, la connexion et les liens que HolyArrs construit (liens d’invitation, flux du calendrier).
/healthzet/readyzrépondent aussi à la racine, donc le contrôle de santé de l’image continue de fonctionner.- Toute autre adresse hors du chemin répond « not found ».
Ce que le proxy doit faire
| Besoin | Pourquoi |
|---|---|
| Transmettre le chemin tel quel | HolyArrs route les requêtes d’après le chemin complet. |
Conserver l’en-tête Host |
Les contrôles d’hôte et les liens construits s’en servent. |
| Pas de mise en tampon des réponses | Les mises à jour en direct arrivent en continu dans une seule réponse ouverte. |
| Long délai de lecture (1 h) | Le flux des mises à jour en direct reste ouvert. |
Voir aussi
Lien vers Voir aussiHolyArrs est gratuit. S'il vous a fait gagner du temps, mettez-lui une étoile sur GitHub, sponsorisez-le ou offrez-moi un café.