Port forwarding per un URL più pulito

Per impostazione predefinita, HTTPS presuppone che la porta sia 443. Ciò significa che https://looker.yourdomain.com verrà gestito automaticamente come se l'utente avesse digitato https://looker.yourdomain.com:443. Tuttavia, per utilizzare la porta HTTPS standard (443) è necessario eseguire Looker come root, opzione non supportata e non consigliata.

Una possibilità è fare in modo che gli utenti specifichino un numero di porta come parte dell'URL quando accedono a Looker. Ad esempio, se utilizzi la porta 9999, digita https://looker.yourdomain.com:9999:

Ti consigliamo di configurare una porta predefinita diversa in modo che gli utenti possano digitare https://looker.yourdomain.com e raggiungere comunque la porta corretta. Puoi configurare una porta predefinita per Looker o reindirizzare il traffico a un'altra porta utilizzando diversi metodi:

Tieni presente che è meglio inoltrare i pacchetti direttamente a Looker, invece che indirettamente (tramite un proxy web), perché Looker dispone di funzionalità per interrompere una query del database quando rileva che il browser ha annullato una richiesta.

iptables sull'host Looker

È possibile accedere a Looker da una porta diversa utilizzando iptables. Lo script seguente inoltrerà il traffico dalla porta 443 a 9999. È stato scritto per Ubuntu Linux e potrebbe essere necessario modificarlo se esegui una distribuzione Linux diversa.

  1. Crea il file dello script:

    /etc/network/if-up.d/looker-https-forward
    
  2. Aggiungi questi 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. Rendi 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 Looker

Un'altra tecnica prevede l'uso dello 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 questi contenuti al file:

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

Inverti server proxy

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

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 sul database verrà eseguita fino al completamento, anche se un utente la annulla. Per questo motivo, devi evitare di utilizzare il proxy inverso Apache con Looker.

Bilanciatore del carico

Sono disponibili molte soluzioni per i bilanciatori del carico. A livello generale, il bilanciatore del carico verrebbe 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 vengono installati sul bilanciatore del carico.

Passaggi successivi

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