Per impostazione predefinita, HTTPS presuppone che la porta sia 443. Ciò significa che https://looker.yourdomain.com
verrebbe automaticamente gestito 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, il che non è supportato e non è consigliato.
Un'opzione è far sì che gli utenti specifichino un numero di porta come parte dell'URL quando accedono a Looker. Ad esempio, se utilizzi la porta 9999, l'utente deve digitare: https://looker.yourdomain.com:9999
.
Nelle istanze ospitate dal cliente, per comodità degli utenti, 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:
- Utilizza l'opzione di avvio di Looker
--port=<i>
per specificare la porta che ti interessa, ad esempio--port=9999
. Questa opzione è trattata nella pagina della documentazione relativa alle opzioni di avvio di Looker. - Crea uno script che utilizzi
iptables
. - Utilizza
xinetd
. - Utilizza un server proxy inverso Nginx.
- Utilizza un bilanciatore del carico.
Tieni presente che è meglio inoltrare i pacchetti direttamente a Looker, anziché indirettamente (tramite un proxy web), poiché Looker dispone della funzionalità per arrestare una query di database quando rileva che il browser ha annullato una richiesta.
iptables sull'host Looker
È possibile accedere a Looker da una porta diversa tramite iptables. Lo script seguente inoltrerà il traffico dalla porta 443 alla 9999. È stata scritta per Ubuntu Linux e potrebbe essere necessario modificarla se esegui una distribuzione Linux diversa.
Crea il file di script:
/etc/network/if-up.d/looker-https-forward
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
Rendilo eseguibile:
sudo chmod 755 /etc/network/if-up.d/looker-https-forward
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'utilizzo di xinetd.
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 }
Crea un file denominato:
/etc/xinetd.d/lookerhttps
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 }
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 vietiamo necessariamente altre opzioni. Puoi trovare una configurazione Nginx di esempio nella pagina della documentazione Configurazione di Nginx di esempio.
Tieni presente che il proxy inverso di Apache contiene 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 sarebbe configurato per l'ascolto sulla porta 443 e l'inoltro di tutte le richieste a Looker sulla porta 9999. In questo caso, i certificati server SSL verranno installati sul bilanciatore del carico.
Passaggi successivi
Dopo aver configurato il port forwarding, puoi consentire all'assistenza Looker di accedere al tuo deployment.