Portweiterleitung für eine sauberere URL

Standardmäßig wird bei HTTPS von Port 443 ausgegangen. Das bedeutet, dass https://looker.yourdomain.com automatisch so behandelt wird, als hätte der Nutzer https://looker.yourdomain.com:443 eingegeben. Für die Verwendung des Standard-HTTPS-Ports (443) müsste Looker jedoch als Root ausgeführt werden. Dies wird nicht unterstützt und wird nicht empfohlen.

Eine Möglichkeit besteht darin, dass Benutzer eine Portnummer als Teil der URL angeben können, wenn sie auf Looker zugreifen. Wenn Sie beispielsweise Port 9999 verwenden, wird Folgendes eingegeben: https://looker.yourdomain.com:9999.

Bei vom Kunden gehosteten Instanzen empfehlen wir für Ihre Nutzer, einen anderen Standardport einzurichten, damit sie https://looker.yourdomain.com eingeben und trotzdem zum richtigen Port gelangen. Sie können einen Standardport für Looker einrichten oder den Traffic mit verschiedenen Methoden an einen anderen Port weiterleiten:

Beachten Sie, dass es besser ist, Pakete direkt und nicht indirekt (über einen Web-Proxy) weiterzuleiten, da Looker über die Funktion verfügt, eine Datenbankabfrage zu stoppen, wenn festgestellt wird, dass der Browser eine Anfrage abgebrochen hat.

iptables auf dem Looker-Host

Auf Looker kann mithilfe von iptables von einem anderen Port aus zugegriffen werden. Das folgende Skript leitet Traffic von Port 443 an 9999 weiter. Sie wurde für Ubuntu Linux geschrieben und muss möglicherweise geändert werden, wenn Sie eine andere Linux-Distribution ausführen.

  1. Erstellen Sie die Skriptdatei:

    /etc/network/if-up.d/looker-https-forward
    
  2. Fügen Sie der Datei die folgenden Inhalte hinzu:

    #!/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. Machen Sie sie ausführbar:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. Führen Sie das Skript aus, das beim nächsten System- oder Netzwerkneustart automatisch ausgeführt wird:

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

xinetd auf dem Looker-Host

Eine weitere Technik ist die Verwendung von xinetd.

  1. Achten Sie darauf, dass xinetd eingehenden Traffic von allen gewünschten Adressen zulässt. Fügen Sie im Standardabschnitt von /etc/xinetd.conf Folgendes hinzu:

    {
    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. Datei mit dem Namen „/etc/xinetd.d/lookerhttps“ erstellen

  3. Fügen Sie der Datei die folgenden Inhalte hinzu:

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

Reverse-Proxy-Server

Es ist möglich, Reverse-Proxys mit Looker zu verwenden. Als Reverse-Proxy-Server empfehlen wir Nginx. Es ist der einzige Reverse-Proxy, den wir testen und vollständig unterstützen. Andere Optionen sind jedoch nicht unbedingt verboten. Ein Nginx-Beispielkonfiguration finden Sie auf der Dokumentationsseite Beispiel für eine Nginx-Konfiguration.

Beachten Sie, dass der Reverse-Proxy von Apache einen Fehler enthält, der verhindert, dass Looker Verbindungen ordnungsgemäß schließen kann. Das bedeutet, dass jede Datenbankabfrage bis zum Ende ausgeführt wird, auch wenn ein Nutzer sie abbricht. Aus diesem Grund sollten Sie den Apache-Reverse-Proxy mit Looker nicht verwenden.

Load-Balancer

Es gibt viele Load-Balancer-Lösungen. Allgemein würde der Load-Balancer so konfiguriert, dass er Port 443 überwacht und alle Anfragen über Port 9999 an Looker weiterleitet. In diesem Fall werden Ihre SSL-Serverzertifikate auf dem Load-Balancer installiert.

Nächste Schritte

Nachdem Sie die Portweiterleitung konfiguriert haben, können Sie dem Looker-Support Zugriff auf Ihre Bereitstellung gewähren.