Saltar a contenido

Acceso remoto y HTTPS

En casa, Evey funciona en una dirección como http://192.168.1.20:9091. Para ver contenido desde fuera de casa, necesitas dos cosas más:

  • Una dirección pública, por ejemplo https://evey.example.org: un nombre de dominio que lleva hasta tu casa.
  • HTTPS, para que las contraseñas y los vídeos viajen cifrados por internet. Evey no hace HTTPS por sí mismo. Lo hace un proxy inverso: un pequeño programa colocado delante de Evey que se encarga de la conexión segura y le pasa cada petición a Evey.

Esta página explica cómo publicar el servidor y después qué hace cada ajuste.

Publicar el servidor en tres pasos

  1. Monta un proxy inverso que se encargue de HTTPS y lo reenvíe todo al puerto 9091 de Evey. Puedes usar la configuración de Caddy que viene con Evey, o un proxy que ya tengas funcionando. Configuraciones listas para usar: Configuraciones de proxy inverso.
  2. Díselo a Evey en Administración → Acceso remoto:
    • URL externa: tu dirección pública en https://.
    • Proxies de confianza (IP o CIDR, separados por comas): solo cuando el proxy funciona en otro contenedor. Pon ahí su red, por ejemplo 172.16.0.0/12 para las redes por defecto de Docker.
  3. Eso es todo. En cuanto tiene una dirección pública, el servidor abre el acceso remoto por sí solo.

Para comprobarlo, ejecuta docker exec evey-server evey admin doctor. Muestra los proxies de confianza en uso, y avisa cuando un servidor publicado está rechazando a la gente de fuera.

El acceso remoto se decide según la dirección pública

Salvo que lo elijas tú, Evey decide al arrancar:

  • El servidor tiene una dirección pública (URL externa, o las variables EVEY_SERVER_BASE_URL o EVEY_REMOTE_ACCESS_EXTERNAL_URL): el acceso remoto está activado.
  • No tiene ninguna: el acceso remoto está desactivado. Solo pueden conectarse los dispositivos de la red de tu casa.

En cuanto cambias tú mismo Activar acceso remoto, Evey respeta tu elección y deja de decidir por ti. Así, un servidor publicado puede quedarse solo para casa si lo prefieres.

El acceso remoto solo decide quién puede llegar al servidor. No es una protección por sí mismo: todas las páginas siguen pidiendo iniciar sesión.

Cuando el acceso remoto está desactivado, alguien de fuera de tu casa es rechazado en todas las páginas (un error 403). Las apps dicen Acceso remoto desactivado en lugar de un error poco claro. Si el servidor es accesible desde internet mientras el acceso remoto está desactivado, Evey te avisa en varios sitios:

  • Administración → Acceso remoto muestra Todos los usuarios remotos están bloqueados;
  • el registro del servidor lo dice al arrancar, y después anota cada rechazo con la dirección de la que vino;
  • evey admin doctor lo marca como un fallo.

Ajustes

Todo está en Administración → Acceso remoto. Todos los ajustes se aplican sin reiniciar: los de red desde la siguiente petición, el bitrate desde la siguiente reproducción.

Administración → Acceso remoto con una URL externa en HTTPS y un proxy de confianza
Un servidor publicado en una dirección https:// detrás de un proxy en la red de Docker (interfaz en inglés).
Ajuste Qué hace
Activar acceso remoto Activado: la gente de fuera de la red de tu casa puede conectarse como cualquier otra persona. Desactivado: se la rechaza (403).
URL externa Tu dirección pública. La usan los enlaces de los correos, el inicio de sesión único y el envío a otros dispositivos (cast). Una dirección https:// también activa el modo HTTPS (más abajo).
Proxies de confianza (IP o CIDR, separados por comas) Los proxies inversos en los que Evey confía para indicar quién es el visitante real. La propia máquina (loopback) siempre es de confianza. Vacío: la lista sale de EVEY_TRUSTED_PROXIES.
Redes LAN (CIDR, separadas por comas) Los rangos de direcciones que Evey considera «casa». Los rangos privados vienen en la lista por defecto. Si usas una VPN (Tailscale, WireGuard) y quieres que sus usuarios cuenten como de casa, añade aquí su rango.
Bitrate remoto máximo (Kbps, 0 = ilimitado) Un límite de calidad para la gente de fuera de la red de tu casa. Una dirección privada nunca se limita. Si Administración → Transcodificación también fija un límite para los espectadores remotos, se aplica el más bajo. Ver Cómo se decide la reproducción.

Lo que Evey necesita saber del proxy

Evey responde en HTTP simple en el puerto 9091. El proxy inverso se encarga de HTTPS. Evey necesita saber dos cosas de él, las dos en Administración → Acceso remoto:

  • URL externa en https://. Esto le dice a Evey que un proxy se encarga de HTTPS. Evey protege entonces sus cookies de inicio de sesión (marca Secure), pide a los navegadores que usen siempre HTTPS (HSTS), y acepta la cabecera X-Forwarded-Proto de un proxy de confianza.
  • Los proxies de confianza, cuando el proxy no está en la misma máquina que Evey. Un proxy en otro contenedor necesita aquí su red, por ejemplo 172.16.0.0/12 para las redes por defecto de Docker.

Se rechaza un rango que cubre todas las direcciones

0.0.0.0/0 o ::/0 como proxy de confianza permitirían a cualquier visitante hacerse pasar por alguien de cualquier sitio. El panel y evey admin doctor lo rechazan. Pon en su lugar la dirección o la red del propio proxy.

Configurarlo en el entorno

Las variables EVEY_SERVER_BASE_URL y EVEY_TRUSTED_PROXIES hacen lo mismo desde el archivo compose. Esto encaja con una configuración escrita entera en archivos, o con un servidor que debe responder por HTTPS desde su primer arranque.

Cuando están las dos cosas, tiene prioridad el panel. Una URL externa en https:// activa el modo HTTPS aunque la URL base sea HTTP simple, y una lista de proxies guardada sustituye a la variable. Vacía el campo para devolverle la decisión a la variable. Ver Servidor y red.

La dirección real del cliente

Para que el acceso remoto y el límite de calidad remoto funcionen, Evey tiene que ver la dirección real de cada visitante. Dos ajustes trabajan juntos:

  1. Los proxies de confianza deciden de quién acepta Evey la dirección real del visitante.
  2. Las redes LAN deciden después si esa dirección es de «casa» o «remota».

Si el proxy no transmite la dirección real, o Evey no confía en él, todas las peticiones parecen venir de la propia dirección privada del proxy. Entonces todo el mundo cuenta como de casa: el ajuste de acceso remoto no tiene efecto y no se aplica ningún límite remoto.

Corregir el proxy cambia quién cuenta como remoto

Si el acceso remoto estaba desactivado, la gente de fuera es rechazada desde el momento en que el proxy transmite su dirección real. Ejecuta evey admin doctor después de cambiar los ajustes del proxy: muestra la lista en uso y de dónde viene, avisa de un rango público, y falla con un rango que cubre todas las direcciones.