Proxy inverso
Un proxy inverso se sitúa delante de Semaphore y termina TLS, de modo que los navegadores y los runners hablan con él por HTTPS mientras que Semaphore escucha en HTTP sin cifrar en la interfaz local. Semaphore también dispone de TLS integrado, así que el proxy no es estrictamente necesario. Úselo cuando ya opere un proxy, necesite un certificado gestionado en otro lugar, quiera servir Semaphore en una subruta o publique varios servicios desde un mismo host.
Qué debe resolver toda configuración
Sea cual sea el proxy que elija, tres cosas tienen que estar bien o algunas partes de la interfaz fallarán de formas difíciles de diagnosticar:
- La actualización a WebSocket en
/api/ws. Los registros de las tareas se transmiten por un WebSocket. Sin las cabeceras de actualización, la ventana del registro permanece vacía mientras la tarea se ejecuta. - Un tiempo de espera de lectura mayor que el intervalo de ping. Semaphore hace ping a un WebSocket inactivo aproximadamente cada dos minutos. Un proxy que cierra las conexiones inactivas a los 60 segundos desconecta la vista del registro una y otra vez.
web_hostcon la URL pública. A partir de este valor, Semaphore construye las URL de redirección, establece el atributoSecurede la cookie y comprueba el origen de la petición. Si no coincide con lo que ha usado el navegador, el inicio de sesión falla. Consulte Configuración.
En esta sección
| Página | Qué cubre |
|---|---|
| nginx | Un bloque server con TLS, la actualización a WebSocket y las cabeceras reenviadas. |
| Apache | Un host virtual que usa mod_proxy y mod_proxy_wstunnel. |
| Caddy | Un Caddyfile mínimo con certificados automáticos. |
Por dónde empezar
Elija el proxy que ya tenga en funcionamiento. Si no tiene preferencia ni un proxy existente, Caddy es el camino más corto: obtiene y renueva los certificados por su cuenta.
Para un refuerzo más allá de TLS, consulte Seguridad de red.