Accès distant et HTTPS¶
Chez vous, Evey fonctionne à une adresse comme http://192.168.1.20:9091.
Pour regarder depuis l'extérieur, il vous faut deux choses de plus :
- Une adresse publique, par exemple
https://evey.example.org: un nom de domaine qui mène jusqu'à chez vous. - Le HTTPS, pour que les mots de passe et les vidéos traversent Internet chiffrés. Evey ne fait pas le HTTPS lui-même. C'est un reverse proxy qui s'en charge : un petit programme placé devant Evey, qui gère la connexion sécurisée et transmet chaque demande à Evey.
Cette page montre comment publier le serveur, puis ce que fait chaque réglage.
Publier le serveur en trois étapes¶
- Installez un reverse proxy qui gère le HTTPS et transmet tout au port
9091d'Evey. Vous pouvez utiliser le Caddy fourni avec Evey, ou un proxy que vous avez déjà. Des configurations toutes prêtes : Configurations de reverse proxy. - Indiquez-le à Evey dans Administration → Accès distant :
- URL externe : votre adresse publique en
https://. - Proxys de confiance (IP ou CIDR, séparés par des virgules) :
seulement quand le proxy tourne dans un autre conteneur. Mettez-y son
réseau, par exemple
172.16.0.0/12pour les réseaux Docker par défaut.
- URL externe : votre adresse publique en
- C'est tout. Dès qu'il a une adresse publique, le serveur ouvre l'accès distant de lui-même.
Pour vérifier, lancez docker exec evey-server evey admin doctor. Il montre
les proxys de confiance utilisés, et prévient quand un serveur publié refuse
les personnes de l'extérieur.
L'accès distant se décide d'après l'adresse publique¶
Sauf si vous choisissez vous-même, Evey décide au démarrage :
- Le serveur a une adresse publique (URL externe, ou les variables
EVEY_SERVER_BASE_URLouEVEY_REMOTE_ACCESS_EXTERNAL_URL) : l'accès distant est activé. - Il n'en a pas : l'accès distant est désactivé. Seuls les appareils du réseau domestique peuvent se connecter.
Dès que vous changez vous-même Activer l'accès distant, Evey garde votre choix et arrête de décider à votre place. Un serveur publié peut donc rester limité au réseau domestique si vous le voulez.
L'accès distant décide seulement qui peut joindre le serveur. Ce n'est pas une protection à lui seul : chaque page demande toujours de se connecter.
Quand l'accès distant est désactivé, quelqu'un hors de chez vous est
refusé sur toutes les pages (une erreur 403). Les applications affichent
Accès distant désactivé au lieu d'une erreur vague. Si le serveur peut
être joint depuis Internet alors que l'accès distant est désactivé, Evey vous
prévient à plusieurs endroits :
- Administration → Accès distant affiche Tous les utilisateurs distants sont bloqués ;
- les logs du serveur l'indiquent au démarrage, puis notent chaque refus avec l'adresse d'où il venait ;
evey admin doctorle compte comme un échec.
Réglages¶
Tout est dans Administration → Accès distant. Chaque réglage s'applique sans redémarrage : les réglages réseau dès la demande suivante, le débit dès la lecture suivante.
https://, derrière un proxy sur le réseau Docker.| Réglage | Ce qu'il fait |
|---|---|
| Activer l'accès distant | Activé : les personnes hors du réseau domestique peuvent se connecter comme tout le monde. Désactivé : ils sont refusés (403). |
| URL externe | Votre adresse publique. Les liens dans les e-mails, l'authentification unique et le cast l'utilisent. Une adresse en https:// active aussi le mode HTTPS (plus bas). |
| Proxys de confiance (IP ou CIDR, séparés par des virgules) | Les reverse proxys auxquels Evey fait confiance quand ils indiquent qui est le vrai visiteur. La machine elle-même (boucle locale) est toujours de confiance. Vide : la liste vient de EVEY_TRUSTED_PROXIES. |
| Réseaux LAN (CIDR, séparés par des virgules) | Les plages d'adresses qu'Evey considère comme le réseau domestique. Les plages privées sont listées par défaut. Si vous utilisez un VPN (Tailscale, WireGuard) et voulez que ses utilisateurs comptent comme locaux, ajoutez sa plage ici. |
| Débit distant maximal (Kbps, 0 = illimité) | Une limite de qualité pour les personnes hors du réseau domestique. Une adresse privée n'est jamais limitée. Si Administration → Configuration transcodage fixe aussi une limite pour les spectateurs à distance, c'est la plus basse qui s'applique. Voir Comment Evey choisit le mode de lecture. |
Ce qu'Evey doit savoir du proxy¶
Evey répond en HTTP simple sur le port 9091. Le reverse proxy gère le HTTPS. Evey a besoin de savoir deux choses sur lui, toutes les deux dans Administration → Accès distant :
- URL externe en
https://. Cela dit à Evey qu'un proxy gère le HTTPS. Evey protège alors ses cookies de connexion (attributSecure), demande aux navigateurs de toujours utiliser le HTTPS (HSTS), et fait confiance à l'en-têteX-Forwarded-Protod'un proxy de confiance. - Les proxys de confiance, quand le proxy n'est pas sur la même machine
qu'Evey. Un proxy dans un autre conteneur a besoin de son réseau ici, par
exemple
172.16.0.0/12pour les réseaux Docker par défaut.
Une plage qui couvre toutes les adresses est refusée
0.0.0.0/0 ou ::/0 comme proxy de confiance laisserait n'importe quel
visiteur faire croire qu'il vient de n'importe où. Le panneau et
evey admin doctor le refusent tous les deux. Indiquez plutôt l'adresse
ou le réseau du proxy lui-même.
Le régler plutôt dans l'environnement¶
Les variables EVEY_SERVER_BASE_URL et EVEY_TRUSTED_PROXIES font la même
chose depuis le fichier compose. C'est pratique pour une installation écrite
entièrement dans des fichiers, ou pour un serveur qui doit répondre en HTTPS
dès son tout premier démarrage.
Quand les deux sont réglés, le panneau l'emporte. Une URL externe en
https:// active le mode HTTPS même si l'URL de base est en HTTP simple, et
une liste de proxys enregistrée remplace la variable. Videz le champ pour
revenir à la variable. Voir
Serveur et réseau.
L'adresse réelle du client¶
Pour que l'accès distant et la limite de qualité à distance fonctionnent, Evey doit voir la vraie adresse de chaque visiteur. Deux réglages travaillent ensemble :
- Les proxys de confiance déterminent à qui Evey fait confiance pour la vraie adresse du visiteur.
- Les réseaux LAN décident ensuite si cette adresse est « locale » ou « distante ».
Si le proxy ne transmet pas la vraie adresse, ou si Evey ne lui fait pas confiance, toutes les demandes semblent venir de l'adresse privée du proxy. Tout le monde compte alors comme local : le réglage d'accès distant n'a aucun effet, et aucune limite à distance ne s'applique.
Corriger le proxy change qui compte comme à distance
Si l'accès distant était désactivé, les personnes de l'extérieur sont refusées
dès que le proxy transmet leur vraie adresse. Lancez evey admin doctor
après avoir changé les réglages du proxy : il montre la liste utilisée et
d'où elle vient, prévient en cas de plage publique, et échoue sur une
plage qui couvre toutes les adresses.