ポート転送をクリーンな URL に

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

一つは、ユーザーが 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 構成のドキュメントをご覧ください。

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

ロードバランサ

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

次のステップ

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