Volver al blog

Configuración de la autenticación HTTP básica con Nginx en Ubuntu 20.04

Configuración de la autenticación HTTP básica con Nginx en Ubuntu 20.04

Nginx es un servidor web gratuito y de código abierto utilizado para el equilibrio de carga, almacenamiento en búfer y almacenamiento en caché. Desde su creación en 2004, Nginx ha ganado popularidad para escalar servidores web y proxy inverso. Debido a su alto rendimiento y excelentes capacidades para manejar un gran volumen de conexiones, se utiliza para gestionar y controlar el tráfico entrante.

¿Cómo funciona la autenticación HTTP?

En la autenticación HTTP básica, todas las rutas del servidor están bloqueadas y requieren las credenciales adecuadas para autenticarse. Cada vez que un usuario intenta acceder a un recurso protegido, el servidor le envía un encabezado WWW-Authenticate y una respuesta 401 Unauthorized. Si el nombre de usuario y la contraseña utilizados por el usuario son correctos y coinciden con el archivo de claves, la conexión se establece; de lo contrario, se deniega.

In este tutorial, le guiaremos a través de los pasos para configurar la autenticación HTTP básica con Nginx en Ubuntu 20.04.

Requisitos previos

Para seguir este tutorial, necesitará lo siguiente:

Paso 1: Actualizar los repositorios de software

Antes de instalar cualquier software nuevo o un paquete de API en su sistema, actualice los repositorios para evitar errores o conflictos de paquetes. Inicialmente, actualizaremos el software utilizando el comando sudo :

Ahora que hemos actualizado los repositorios de software, instalemos los paquetes apache2 necesarios.

Paso 2: Instalar los paquetes necesarios

Como estamos configurando la autenticación HTTP para un directorio, utilizaremos el comando htpasswd para crear una contraseña cifrada. Instale el paquete apache2-utils utilizando el siguiente comando:

Paso 3: Crear usuario y contraseña

En este paso, configuraremos las credenciales básicas de autenticación HTTP. En el directorio raíz, cree un archivo .htpasswd asociado con el usuario. La contraseña estará cifrada y el nombre del archivo puede ser el que elija. Utilice el siguiente comando para crear el archivo y agregar al usuario con una contraseña cifrada:

User and Password

A continuación, verifique el archivo recién creado utilizando el siguiente comando:

newly-created file

Paso 4: Actualizar la configuración de Nginx

Once we have our HTTP basic authentication credentials, let’s set up Nginx and use it on our target website. We require auth_basic y auth_basic_user_file para establecer la autenticación básica HTTP. El valor de la directiva auth_basic está en formato de cadena, mientras que el valor de auth_basic_user_file es la ruta al archivo de contraseñas creado en el Paso 3.

Es importante incluir las dos directivas en el archivo de configuración del sitio web de destino. Encontrará la ubicación del sitio web de destino en el directorio /etc/nginx/sites-available. Abra el archivo de configuración utilizando el editor nano:

Luego, agregue ambas directivas bajo la sección location :

Después de agregar la directiva, guarde y cierre el archivo de configuración.

Paso 5: Reiniciar Nginx

A continuación, recargue o reinicie los servicios de Nginx para aplicar los cambios en nuestro host virtual. Después de eso, intentaremos acceder al dominio protegido utilizando nuestra autenticación HTTP básica. Utilice el siguiente comando para activar los servicios de Nginx:

Paso 6: Acceso web seguro

Una vez que haya reiniciado Nginx, el siguiente paso es intentar acceder a la dirección IP o al nombre de dominio en su navegador favorito. Al hacer clic en la dirección IP http://your_domain_name/ en su navegador, se abrirá una ventana emergente solicitándole que introduzca las credenciales para autenticarse. Una vez que introduzca el nombre de usuario y la contraseña correctos, verá la página de inicio predeterminada de Nginx.

Conclusión

En este tutorial, aprendimos cómo configurar la autenticación HTTP básica con Nginx. La autenticación básica de usuario/contraseña es solo una de las muchas opciones de autenticación para establecer una conexión segura en Nginx.

Existen otras opciones potentes utilizadas para la autenticación de servidores. Por ejemplo, algunos métodos populares que puede utilizar incluyen integraciones de API, JSON Web Tokens, autenticaciones basadas en claves SSH. Aunque obtener mecanismos de seguridad robustos puede parecer complicado al principio, son muy eficaces para proteger su privacidad.

Además, hay muchos otros materiales de aprendizaje y tutoriales sobre Nginx a los que puede acceder desde nuestros blogs:

¡Feliz computación!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.