クリーン URL 用のポート転送

デフォルトでは、HTTPS はポートが 443 であることを前提としています。つまり、ユーザーが https://looker.yourdomain.com:443 を入力したかのように、https://looker.yourdomain.com が自動的に処理されます。ただし、標準の HTTPS ポート(443)を使用するには、Looker を root として実行する必要があります。これはサポートされていないため、おすすめしません。

1 つの方法は、ユーザーが Looker にアクセスするときに URL の一部としてポート番号を指定することです。たとえば、ポート 9999 を使用している場合は、https://looker.yourdomain.com:9999 と入力します。

セルフホスト型インスタンスでは、ユーザーの便宜上、別のデフォルトのポートを設定して、ユーザーが「https://looker.yourdomain.com」と入力しても正しいポートに到達できるようにすることをおすすめします。Looker のデフォルト ポートを設定したり、トラフィックを別のポートにリダイレクトしたりするには、次の方法があります。

Looker には、ブラウザがリクエストをキャンセルしたことを検出したときにデータベース クエリを停止する機能があるため、パケットを間接的(ウェブ プロキシ経由)ではなく、Looker に直接転送することをおすすめします。

Looker ホスト上の iptables

iptables を使用して、別のポートから Looker にアクセスできます。次のスクリプトは、トラフィックをポート 443 から 9999 に転送します。これは Ubuntu Linux 用に作成されたもので、別の Linux ディストリビューションを使用している場合は変更が必要になる場合があります。

  1. スクリプト ファイルを作成します。

    /etc/network/if-up.d/looker-https-forward
    
  2. ファイルに次の内容を追加します。

    #!/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. 実行可能にする

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. スクリプトを実行します。このスクリプトは、次回のシステムまたはネットワークの再起動時に自動的に実行されます。

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

Looker ホスト上の xinetd

別の方法として、xinetd を使用する方法があります。

  1. xinetd が、必要なすべてのアドレスからの受信トラフィックを許可していることを確認します。/etc/xinetd.conf のデフォルト セクションに、次のように追加します。

    {
    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. /etc/xinetd.d/lookerhttps という名前のファイルを作成します。

  3. ファイルに次の内容を追加します。

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

リバース プロキシ サーバー

Looker でリバース プロキシを使用できます。推奨されるリバース プロキシ サーバーは Nginx です。Google がテストして完全にサポートしているリバース プロキシは Nginx のみですが、他のオプションを禁止しているわけではありません。Nginx 構成のサンプルについては、Nginx 構成のサンプルのドキュメント ページをご覧ください。

Apache リバース プロキシには、Looker が接続を正しく終了できないというバグがあります。つまり、ユーザーがクエリをキャンセルしても、すべてのデータベース クエリは完了まで実行されます。このため、Looker で Apache リバース プロキシを使用しないでください。

ロードバランサ

使用できるロードバランサ ソリューションは多数あります。概要としては、ロードバランサはポート 443 でリッスンし、すべてのリクエストをポート 9999 の Looker に転送するように構成されます。この場合、SSL サーバー証明書はロードバランサにインストールされます。

次のステップ

ポート転送を構成したら、Looker サポートによるデプロイへのアクセスを許可する準備が整います。