Añadir autenticación en Nginx Proxy Manager para tus dominios

Tiempo de lectura: 2 minutos

Si estás utilizando Nginx Proxy Manager (NPM), puedes añadir autenticación de una manera bastante sencilla a través de la interfaz gráfica.

Agua - Pexels

Aquí te explico cómo hacerlo con autenticación básica:

Pasos para configurar la autenticación básica en Nginx Proxy Manager:

Configura la autenticación:

    En el menú ve a la pestaña de Access Lists

    Access Lists Nginx Proxy Manager

    Primero escribe el nombre en Name.

    Marca la opción Satisfy Any (esto permitirá que cualquiera de los métodos configurados sea suficiente para autenticarse).

    Crea un authorization indicando el Username y Password.

    Pulsa en save.

    Ahroa vamos a asigarlo:

    Selecciona el Proxy Host:

    • Ve a la pestaña «Proxy Hosts».
    Proxy Host - Nginx Proxy Manager
    • Encuentra el proxy que apunta a tu servidor Ollama y haz clic en Edit.
    Editar - Nginx Proxy Manager

    Dentro de Access List elige la nueva:

    Verifica la configuración:

    • Accede a tu dominio, y se te pedirá un nombre de usuario y contraseña.

    Realizar peticiones HTTP:

    En este ejemplom en Python vamos a ver cómo podemos crear una petición HTTP con esta credencial.

    import requests
    from requests.auth import HTTPBasicAuth
    
    # URL del dominio donde está Ollama detrás de Nginx
    url = 'https://tudominio.com/api-endpoint'
    
    # Credenciales
    username = 'user'
    password = 'pass123'
    
    # Hacer la solicitud con autenticación básica
    response = requests.get(url, auth=HTTPBasicAuth(username, password))
    
    # Imprimir el resultado de la respuesta
    if response.status_code == 200:
        print('Respuesta exitosa:', response.json())  # Si la respuesta es JSON
    else:
        print(f'Error {response.status_code}: {response.text}')
    

    auth=HTTPBasicAuth(username, password): Esto agrega el encabezado Authorization a la solicitud con las credenciales codificadas en Base64.

    response.status_code: Verifica el código de estado HTTP para saber si la solicitud fue exitosa.

    response.json(): Si el servidor devuelve una respuesta en formato JSON, puedes convertirla a un diccionario de Python.

    Cambia las credenciales por las tuyas.

    Deja un comentario