デフォルトでは、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 のデフォルト ポートを設定したり、トラフィックを別のポートにリダイレクトしたりするには、次の方法があります。
--port=<i>
Looker 起動オプションを使用して、必要なポート(--port=9999
など)を指定します。このオプションの詳細については、Looker の起動オプションのドキュメント ページをご覧ください。iptables
を使用するスクリプトを作成する。xinetd
を使用します。- Nginx リバース プロキシ サーバーを使用する。
- ロードバランサを使用します。
Looker には、ブラウザがリクエストをキャンセルしたことを検出したときにデータベース クエリを停止する機能があるため、パケットを間接的(ウェブ プロキシ経由)ではなく、Looker に直接転送することをおすすめします。
Looker ホスト上の iptables
iptables を使用して、別のポートから Looker にアクセスできます。次のスクリプトは、トラフィックをポート 443 から 9999 に転送します。これは Ubuntu Linux 用に作成されたもので、別の Linux ディストリビューションを使用している場合は変更が必要になる場合があります。
スクリプト ファイルを作成します。
/etc/network/if-up.d/looker-https-forward
ファイルに次の内容を追加します。
#!/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
実行可能にする
sudo chmod 755 /etc/network/if-up.d/looker-https-forward
スクリプトを実行します。このスクリプトは、次回のシステムまたはネットワークの再起動時に自動的に実行されます。
sudo /etc/network/if-up.d/looker-https-forward
Looker ホスト上の xinetd
別の方法として、xinetd を使用する方法があります。
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 }
/etc/xinetd.d/lookerhttps
という名前のファイルを作成します。ファイルに次の内容を追加します。
# 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 サポートによるデプロイへのアクセスを許可する準備が整います。