El servidor web Apache – parte 2

 

 

Acceso a un sitio web por contraseña

Mediante esta configuración podemos «bloquear» el acceso a un directorio web obligando al visitante poner un usuario y contraseña, este procedimiento

Lo primero es ejecutar el comando htpasswd que permite crear la base de datos de cuentas y trabajar con ella, por ejemplo:

sudo htpasswd -c /etc/htpasswd enrique

Esto crea al usuario enrique y le pide contraseña, el resultado se guarda en /etc/httpasswd.

Para  eliminar el usuario ejecutamos:

sudo htpasswd -D /etc/htpasswd enrique

Para listarlos es muy sencillo, solo lee el fichero.   Antes de continuar es necesario tener los módulos: auth_basic, authn_file y authz_user, aunque suelen venir por defecto en la instalación de las instalaciones como ya expliqué en la entrada anterior. Lo siguiente es añadir las siguientes directivas:  

AuthType basic 
AuthUserFile /etc/htpasswd 
AuthName "Se necesita comprobar su identidad"
Require valid-user

 Comprobamos la configuración:

sudo httpd -t

Y, si todo es correcto y no hay errores, podemos reiniciar el servicio.

sudo systemctl restart httpd

Si cargamos el directorio o sitio web donde hemos aplicado las directivas, debería pedir usuario y contraseña.  

Proxy Inverso en Apache

Solo para este tipo de configuraciones se debería dedicar una entrada entera debido a su complejidad, ya que tiene diferentes funciones esta directiva.  Solo explicaré la configuración más sencilla, en este ejemplo le diremos al servidor que las solicitudes a un directorio de un sitio web se redireccionen a otro servidor, no tiene por qué ser apache, puede ser NGINX, por ejemplo, y este servidor no tienen por qué tener un certificado SSL, ya que lo proveería nuestro servidor. Por ejemplo, en mi servidor principal tengo el servidor web con wordpress, pero me interesa quitarle peso y tener el servidor nextcloud en otro equipo, eso lo logramos con la configuración de Proxy Inverso.  

reverse-proxy-arch

  SPOILER – cuando llegue a hablar de contenedores Docker con Collabora Office u OnlyOffice, introduciremos esta configuración.   Obviamente, necesitamos el módulo: mod_proxy, que también viene instalado en nuestra distribución. En la configuración del sitio, por ejemplo:

sudo nano /etc/httpd/conf.d/ssl.conf 

Deberíamos poner las directivas dentro de <virtualhost >

ServerAdmin mainkivi@gmail.com
ServerName fedora.mainkivi.info
ProxyPass           /nextcloud https://192.168.1.241/nextcloud retry=0
ProxyPassReverse    /nextcloud https://192.168.1.241/nextcloud

Con esto, cuando llamemos al web EXISTENTE https://fedora.mainkivi.info/nextcloud, este accederá al directorio nextcloud del equipo local con IP 192.168.1.241, obviamente, esta dirección puede ser un lugar web.

Y con esto cerraremos, por ahora, este tipo de configuraciones del servidor web. Estos pasos se explicaron en el video anterior.


Publicado

en

, , , , ,

por