Port forwarding per un URL più pulito

Per impostazione predefinita, HTTPS presuppone che la porta sia 443. Ciò significa che https://looker.yourdomain.com verrebbe gestito automaticamente come se l'utente avesse digitato https://looker.yourdomain.com:443. Tuttavia, l'utilizzo della porta HTTPS standard (443) richiederebbe l'esecuzione di Looker come root, opzione non supportata e sconsigliata.

Un'opzione è chiedere agli utenti di specificare un numero di porta nell'URL quando accedono a Looker. Ad esempio, se utilizzi la porta 9999, dovrebbe digitare: https://looker.yourdomain.com:9999.

Nelle istanze ospitate dal cliente, praticità, consigliamo di configurare una porta predefinita diversa in modo che possano digitare https://looker.yourdomain.com e accedere comunque alla porta corretta. Puoi configurare una porta predefinita per Looker o reindirizzare il traffico a una porta diversa utilizzando diversi metodi:

Tieni presente che è meglio inoltrare i pacchetti direttamente a Looker, anziché indirettamente (tramite un proxy web), poiché Looker ha la funzionalità per arrestare una query del database quando rileva che il browser ha annullato una richiesta.

iptables sull'host di Looker

È possibile accedere a Looker da una porta diversa utilizzando iptables. Il seguente script inoltra il traffico dalla porta 443 alla porta 9999. È stato scritto per Ubuntu Linux e potrebbe dover essere modificato se utilizzi una distribuzione Linux diversa.

  1. Crea il file di script:

    /etc/network/if-up.d/looker-https-forward
    
  2. Aggiungi i seguenti contenuti al file:

    #!/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. Rendilo eseguibile:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. Esegui lo script, che verrà eseguito automaticamente al successivo riavvio del sistema o della rete:

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

xinetd sull'host di Looker

Un'altra tecnica prevede l'utilizzo di xinetd.

  1. Assicurati che xinetd consenta il traffico in entrata da tutti gli indirizzi desiderati. Nella sezione predefinita di /etc/xinetd.conf, aggiungi:

    {
    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 file denominato /etc/xinetd.d/lookerhttps

  3. Aggiungi i seguenti contenuti al file:

    # 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
    }
    

Server reverse proxy

È possibile utilizzare i proxy reversi con Looker. Il nostro server proxy inverso consigliato è Nginx. È l'unico proxy inverso che testiamo e supportiamo completamente, anche se non vietiamo necessariamente altre opzioni. Puoi trovare una configurazione Nginx di esempio nella pagina della documentazione Configurazione Nginx di esempio.

Tieni presente che il proxy inverso di Apache presenta un bug che impedisce a Looker di chiudere correttamente le connessioni. Ciò significa che ogni query del database verrà eseguita fino al completamento, anche se un utente la annulla. Per questo motivo, dovresti evitare di utilizzare il proxy inverso Apache con Looker.

Bilanciatore del carico

Sono disponibili molte soluzioni di bilanciamento del carico. A livello generale, il bilanciatore del carico sarebbe configurato per rimanere in ascolto sulla porta 443 e inoltrare tutte le richieste a Looker sulla porta 9999. In questo caso, i certificati server SSL saranno installati sul bilanciatore del carico.

Passaggi successivi

Dopo aver configurato il port forwarding, puoi consentire all'assistenza di Looker di accedere al tuo deployment.