2 votos

Autenticación con NGINX

Estoy ejecutando un conjunto de NGINX proxy utilizando el navegador básico de autenticación con el archivo htpasswd para los usuarios.

He creado una pequeña aplicación con Laravel que autentica al usuario y presenta una lista de los enlaces a estos nginx proxies.

Estoy buscando para actualizar el nginx autenticación a algo como JWT tokens, sin embargo no estoy seguro de que sería lo suficientemente segura sin una API detrás de ella para validar el real token de sí mismo?

La otra opción que yo estaba pensando era LDAP solución y tener ambos Laravel y el NGINX proxies el uso de la autenticación ldap.

Las aplicaciones de ese sitio detrás del proxy nginx no tiene ningún tipo de autenticación y disponemos de 0 intención de añadir a ellos en este momento

2voto

gf_ Puntos 725

Nginx incluye la solicitud de módulo auth, que

implementa la autorización del cliente basado en el resultado de un subrequest. Si el subrequest devuelve un 2xx código de respuesta, se permite el acceso. Si devuelve o 403 401, se deniega el acceso con el código de error correspondiente. Cualquier otro código de respuesta devuelta por el subrequest se considera un error.

Para el error 401, el cliente también recibe el "WWW-Authenticate" encabezado de la subrequest respuesta.

Dos posibilidades vienen a mi mente:

  • Usted podría extender sus Laravel aplicación, por lo que sería posible a "enlace" a partir de Nginx, que podría llevar al usuario a un "inicio de Sesión" de la página, y, si autenticado, se envía un "200 OK" respuesta a Nginx.
  • Podría retirar primero las soluciones existentes, el aprovechamiento de esta técnica, por ejemplo Nginx LDAP Autenticación.

La elaboración de la segunda respuesta:

  • Si los datos de la cuenta es de hecho almacenado en el LDAP, podría escribir un script que se ejecuta con regularidad a través de cron, por ejemplo, que extrae los datos de LDAP y la escribe en un htpasswd archivo para ser leído por Nginx.

0voto

Hoa Long Tam Puntos 452

Nginx no tienen integrada una manera de hacer esto. Sólo se puede hacer htpasswd y autenticación por IP permitir/denegar reglas.

Nginx Plus tiene una manera de hacer esto, y es descrito en detalle en el Nginx blog

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: