===== No mostrar el dialog box / Pop-Up al utilizar autenticación de acceso básica en Nginx =====
Al configurar la [[https://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica|autenticación de acceso básica]] en cualquier servidor web, este envía al navegador la cabecera "//WWW-Authenticate//". Cuando esta es recibida por el navegador se nos muestra en pantalla un cuadro de dialogo / ventana emergente solicitando un usuario y contraseña para acceder.
WWW-Authenticate: Basic realm="Acceso restringido"
Si se desea evitar dicho cuadro de dialogo en el navegador pero no desactivar el requisito de autenticación, en el servidor web Nginx es fácil de configurar si se compiló Nginx con el modulo "more_clear_headers".
Al no mostrar el típico cuadro de dialogo, el acceso normal por medio del navegador se complica, ya que el usuario no puede acreditarse. Esto hace necesario, por ejemplo, diseñar un formulario en algún lenguaje de programación web o bien utilizar un plugin en el navegador para tal fin. Lo importante es que las credenciales se ingresen de alguna manera ya que la autenticación no ha sido desactivada, solo ocultada.
**Instalación / Manual del modulo hader_more**: [[https://www.nginx.com/resources/wiki/modules/headers_more/]]
**Configuración normal de "Basic access authentication" en Nginx**.
location / {
root /tmp/nginx/;
auth_basic "Acceso restringido";
auth_basic_user_file /tmp/htpasswd;
}
curl -I http://dominio
HTTP/1.1 401 Unauthorized
Server: openresty/1.9.3.1
Date: Mon, 26 Oct 2015 19:44:25 GMT
Content-Type: text/html
Content-Length: 200
Connection: keep-alive
WWW-Authenticate: Basic realm="Acceso restringido"
curl -I -u USUARIO:PASSWORD http://dominio
HTTP/1.1 200 OK
Server: openresty/1.9.3.1
Date: Mon, 26 Oct 2015 19:44:31 GMT
Content-Type: text/html
Content-Length: 5
Last-Modified: Mon, 26 Oct 2015 19:11:05 GMT
Connection: keep-alive
ETag: "562e7ac9-5"
Accept-Ranges: bytes
**Configuración evitando la ventana emergente de autenticación de acceso básica HTTP**.
location / {
root /tmp/nginx/;
more_clear_headers 'WWW-Authenticate';
auth_basic "Acceso restringido";
auth_basic_user_file /tmp/htpasswd;
}
curl -I http://dominio
HTTP/1.1 401 Unauthorized
Server: openresty/1.9.3.1
Date: Mon, 26 Oct 2015 19:45:26 GMT
Content-Type: text/html
Content-Length: 200
Connection: keep-alive
curl -I -u USUARIO:PASSWORD http://192.168.178.115:8080/
HTTP/1.1 200 OK
Server: openresty/1.9.3.1
Date: Mon, 26 Oct 2015 19:45:34 GMT
Content-Type: text/html
Content-Length: 5
Last-Modified: Mon, 26 Oct 2015 19:11:05 GMT
Connection: keep-alive
ETag: "562e7ac9-5"
Accept-Ranges: bytes
NOTA: Hay otras alternativas como modificar el valor de la cabecera, pero depende del navegador esto puede no ser efectivo. Si se quiere utilizar una versión de Nginx con todos los Módulos activos de serie, se recomienda el uso de [[http://openresty.org/|OpenResty]].