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

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

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

顧客がホストするインスタンスでは、ユーザーが便宜上、別のデフォルト ポートを設定して、https://looker.yourdomain.com を入力した後、正しいポートにアクセスできるようにすることをおすすめします。Looker のデフォルト ポートを設定するか、いくつかの方法でトラフィックを別のポートにリダイレクトできます。

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

Looker ホスト上の iptables

Looker には、iptables を使用して別のポートからアクセスできます。次のスクリプトは、ポート 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

もう 1 つの方法は 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 構成のサンプルのドキュメント ページをご覧ください。

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

ロードバランサ

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

次のステップ

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