Transfert de port pour une URL plus propre

Par défaut, le protocole HTTPS suppose que le port est 443. Cela signifie que https://looker.yourdomain.com sera automatiquement géré comme si l'utilisateur avait saisi https://looker.yourdomain.com:443. Toutefois, pour utiliser le port HTTPS standard (443), vous devez exécuter Looker en mode root, ce qui n'est pas compatible 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, saisissez https://looker.yourdomain.com:9999.

Pour plus de commodité, nous vous recommandons de configurer un autre port par défaut afin qu'ils puissent saisir https://looker.yourdomain.com et accéder au bon port. Vous pouvez configurer un port par défaut pour Looker ou rediriger le trafic vers un autre port de plusieurs manières:

Il est préférable de transférer les paquets directement vers Looker plutôt que indirectement (via un proxy Web), car Looker dispose de la 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

Vous pouvez accéder à Looker 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 autre distribution Linux.

  1. Créez le fichier de script:

    /etc/network/if-up.d/looker-https-forward
    
  2. 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
    
  3. Rendez-le exécutable:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. 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.

  1. Assurez-vous que xinetd autorise le trafic entrant provenant de toutes les adresses souhaitées. Dans la section par défaut du fichier /etc/xinetd.conf, ajoutez le code suivant:

    {
    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. Créez un fichier nommé: /etc/xinetd.d/lookerhttps

  3. Ajoutez le contenu suivant au fichier:

    # default: on
    #
    # 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. Nous suggérons le serveur proxy inverse Nginx. Il s'agit du seul proxy inverse que nous testons et que nous prenons en charge. Toutefois, nous n'autorisons pas nécessairement les autres options. Vous trouverez un exemple de configuration Nginx sur la page de documentation Exemple de configuration Nginx.

Notez que le proxy inverse Apache contient 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. Pour cette raison, évitez d'utiliser le proxy inverse Apache avec Looker.

Équilibreur de charge

Il existe de nombreuses solutions d'équilibrage de charge. Dans les grandes lignes, l'équilibreur de charge est configuré pour écouter le port 443 et transférer toutes les requêtes vers Looker sur le port 9999. Dans ce cas, les certificats de votre serveur SSL sont installés sur l'équilibreur de charge.

Étapes suivantes

Après avoir configuré le transfert de port, vous pouvez autoriser l'assistance Looker à accéder à votre déploiement.