Par défaut, HTTPS suppose que le port est 443. Cela signifie que https://looker.yourdomain.com
est géré automatiquement comme si l'utilisateur avait saisi https://looker.yourdomain.com:443
. Cependant, l'utilisation du port HTTPS standard (443) nécessiterait d'exécuter Looker en tant que racine, ce qui n'est pas pris en charge et n'est pas recommandé.
Une option consiste à demander aux utilisateurs de spécifier un numéro de port dans l'URL lorsqu'ils accèdent à Looker. Par exemple, si vous utilisez le port 9999, vous devez saisir: https://looker.yourdomain.com:9999
.
Sur les instances hébergées par un client, nous recommandons à vos utilisateurs de configurer un autre port par défaut afin qu'ils puissent saisir https://looker.yourdomain.com
tout en utilisant le port approprié. Vous pouvez configurer un port par défaut pour Looker ou rediriger le trafic vers un autre port à l'aide de plusieurs méthodes:
- Utilisez l'option de démarrage Looker
--port=<i>
pour spécifier le port souhaité, par exemple--port=9999
. Cette option est décrite sur la page de documentation Options de démarrage de Looker. - Créez un script qui utilise
iptables
. - Utilisez
xinetd
. - Utilisez un serveur proxy inverse Nginx.
- Utilisez un équilibreur de charge.
Notez qu'il est préférable de transférer les paquets directement vers Looker plutôt que de manière indirecte (via un proxy Web), car Looker dispose d'une fonctionnalité permettant d'arrêter une requête de base de données lorsqu'il détecte que le navigateur a annulé une requête.
iptables sur l'hôte Looker
Looker est accessible depuis un autre port à l'aide d'iptables. Le script suivant transfère le trafic du port 443 vers le port 9999. Il a été écrit pour Ubuntu Linux et devra peut-être être modifié si vous exécutez une distribution Linux différente.
Créez le fichier de script:
/etc/network/if-up.d/looker-https-forward
Ajoutez le contenu suivant au fichier:
#!/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
Rendez-le exécutable:
sudo chmod 755 /etc/network/if-up.d/looker-https-forward
Exécutez le script qui s'exécutera automatiquement au prochain redémarrage du système ou du réseau:
sudo /etc/network/if-up.d/looker-https-forward
xinetd sur l'hôte Looker
Une autre technique consiste à utiliser xinetd.
Assurez-vous que xinetd autorise le trafic entrant provenant de toutes les adresses souhaitées. Dans la section par défaut de /etc/xinetd.conf, ajoutez:
{ 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 }
Créez un fichier nommé
/etc/xinetd.d/lookerhttps
.Ajoutez le contenu suivant au fichier:
# 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 }
Serveurs proxy inverses
Il est possible d'utiliser des proxys inverses avec Looker. Le serveur proxy inverse que nous suggérons est Nginx. Il s'agit du seul proxy inverse que nous testons et que nous prenons en charge complètement, même si nous n'intervenons pas nécessairement d'autres options. Vous trouverez un exemple de configuration Nginx sur la page de documentation Exemple de configuration Nginx.
Notez que le proxy inverse Apache présente un bug qui empêche Looker de fermer correctement les connexions. Cela signifie que chaque requête de base de données sera exécutée jusqu'à la fin, même si un utilisateur l'annule. C'est pourquoi vous devez éviter d'utiliser le proxy inverse Apache avec Looker.
Équilibreur de charge
Il existe de nombreuses solutions d'équilibreur de charge. De manière générale, l'équilibreur de charge serait configuré pour écouter sur le port 443 et transférer toutes les requêtes à Looker sur le port 9999. Dans ce cas, les certificats de serveur SSL doivent être installés sur l'équilibreur de charge.
Étapes suivantes
Une fois que vous avez configuré le transfert de port, vous pouvez autoriser l'assistance Looker à accéder à votre déploiement.