Redirección de puertos para una URL más limpia

De forma predeterminada, HTTPS supone que el puerto es 443. Esto significa que https://looker.yourdomain.com se controlará automáticamente como si el usuario hubiera escrito https://looker.yourdomain.com:443. Sin embargo, el uso del puerto HTTPS estándar (443) requeriría ejecutar Looker como raíz, lo cual no es compatible y no se recomienda.

Una opción es que los usuarios especifiquen un número de puerto como parte de la URL cuando accedan a Looker. Por ejemplo, si usas el puerto 9999, deben escribir: https://looker.yourdomain.com:9999.

Para la comodidad de los usuarios en las instancias alojadas por el cliente, te recomendamos que configures un puerto predeterminado diferente de modo que puedan escribir https://looker.yourdomain.com y llegar al puerto correcto. Puedes configurar un puerto predeterminado para Looker o redireccionar el tráfico a otro puerto con varios métodos:

Ten en cuenta que es mejor reenviar paquetes directamente a Looker, en lugar de hacerlo indirectamente (a través de un proxy web), ya que Looker tiene la función de detener una consulta de base de datos cuando detecta que el navegador canceló una solicitud.

iptables en el host de Looker

Se puede acceder a Looker desde un puerto diferente mediante iptables. La siguiente secuencia de comandos reenviará el tráfico del puerto 443 a 9999. Se escribió para Ubuntu Linux y es posible que debas modificarlo si ejecutas una distribución de Linux diferente.

  1. Crea el archivo de secuencia de comandos:

    /etc/network/if-up.d/looker-https-forward
    
  2. Agrega el siguiente contenido al archivo:

    #!/bin/sh
    # Forward HTTPS traffic to the Looker app
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 9999
    
  3. Haz que sea ejecutable:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. Ejecuta la secuencia de comandos, que se ejecutará automáticamente en el próximo reinicio del sistema o la red:

    sudo /etc/network/if-up.d/looker-https-forward
    

xinetd en el host de Looker

Otra técnica consiste en usar xinetd.

  1. Asegúrate de que xinetd permita el tráfico entrante desde todas las direcciones deseadas. En la sección predeterminada de /etc/xinetd.conf, agrega lo siguiente:

    {
    only_from = 0.0.0.0
    # or replace 0.0.0.0 with an IP range
    # (i.e., 128.0.0.0/16) if desired
    }
    
  2. Crea un archivo llamado /etc/xinetd.d/lookerhttps.

  3. Agrega el siguiente contenido al archivo:

    # default: on
    # description: Redirect HTTPS/443 requests to
    # Looker default port 9999
    service https
    {
    disable = no
    id = lookerhttps
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    redirect = 127.0.0.1 9999
    }
    

Servidores proxy inversos

Es posible usar proxies inversos con Looker. El servidor proxy inverso que sugerimos es Nginx. Es el único proxy inverso que probamos y que admitimos completamente, aunque no prohibimos necesariamente otras opciones. Puede encontrar una configuración de Nginx de muestra en la página de documentación Configuración de Nginx de muestra.

Ten en cuenta que el proxy inverso de Apache tiene un error que impide que Looker pueda cerrar las conexiones de forma adecuada. Esto significa que cada consulta de base de datos se ejecutará hasta su finalización, incluso si un usuario la cancela. Por este motivo, debes evitar usar el proxy inverso de Apache con Looker.

Balanceador de cargas

Hay muchas soluciones de balanceadores de cargas disponibles. Desde un nivel alto, el balanceador de cargas se configuraría para escuchar en el puerto 443 y reenviar todas las solicitudes a Looker en el puerto 9999. En este caso, los certificados de tu servidor SSL se instalarían en el balanceador de cargas.

Próximos pasos

Después de configurar la redirección de puertos, estará todo listo para permitir que la asistencia de Looker acceda a tu implementación.