De forma predeterminada, HTTPS supone que el puerto será 443. Esto significa que https://looker.yourdomain.com
se manejaría automáticamente como si el usuario hubiera escrito https://looker.yourdomain.com:443
. Sin embargo, para usar el puerto HTTPS estándar (443), se necesitaría ejecutar Looker como raíz, lo que 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, el usuario escribirá: https://looker.yourdomain.com:9999
.
En instancias alojadas por el cliente, para las aplicaciones conveniente, te recomendamos configurar un puerto predeterminado diferente para que puedan escribir https://looker.yourdomain.com
y llegar al puerto correcto de todos modos. Puedes configurar un puerto predeterminado para Looker o redireccionar el tráfico a un puerto diferente con varios métodos:
- Usa la opción de inicio de Looker
--port=<i>
para especificar el puerto deseado, como--port=9999
. Esta opción se analiza en la página de documentación Opciones de inicio de Looker. - Crea una secuencia de comandos que use
iptables
. - Usa
xinetd
. - Usa un servidor proxy inverso de Nginx.
- Usa un balanceador de cargas.
Ten en cuenta que es mejor reenviar paquetes directamente a Looker, en lugar de hacerlo de forma indirecta (a través de un proxy web), ya que Looker tiene la funcionalidad para 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 otro puerto con iptables. La siguiente secuencia de comandos reenviará el tráfico del puerto 443 al 9999. Se escribió para Ubuntu Linux y es posible que debas modificarlo si ejecutas una distribución de Linux diferente.
Crea el archivo de secuencia de comandos:
/etc/network/if-up.d/looker-https-forward
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
Haz que sea ejecutable:
sudo chmod 755 /etc/network/if-up.d/looker-https-forward
Ejecuta la secuencia de comandos, que se ejecutará automáticamente en el próximo reinicio del sistema o de la red:
sudo /etc/network/if-up.d/looker-https-forward
xinetd en el host de Looker
Otra técnica consiste en usar xinetd.
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 }
Crea un archivo llamado:
/etc/xinetd.d/lookerhttps
.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. Nuestro servidor proxy inverso sugerido es Nginx. Es el único proxy inverso que probamos y admitimos totalmente, aunque no prohibimos necesariamente otras opciones. Puedes 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 correcta. Esto significa que cada consulta de la base de datos se ejecutará hasta su finalización, incluso si un usuario la cancela. Por este motivo, no debes usar el proxy inverso de Apache con Looker.
Balanceador de cargas
Hay muchas soluciones de balanceadores de cargas disponibles. A nivel general, 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 servidor SSL se instalarían en el balanceador de cargas.
Próximos pasos
Después de configurar la redirección de puertos, puedes permitir que la asistencia de Looker acceda a tu implementación.