5.2. シナリオ例
以下に、ホスト名を設定する別のサンプルシナリオと、対応するコマンドを示します。
start
コマンドには TLS の設定が必要であることに注意してください。対応するオプションは例として示されていません。詳細は、TLS の設定 を参照してください。
5.2.1. TLS Termination プロキシーの背後にあるサーバーを公開する
この例では、サーバーは TLS Termination プロキシーの背後で実行されており、https://mykeycloak
から公開されています。
設定:
bin/kc.[sh|bat] start --hostname=mykeycloak --proxy=edge
bin/kc.[sh|bat] start --hostname=mykeycloak --proxy=edge
5.2.2. プロキシーを使用せずにサーバーを公開する
この例では、サーバーはプロキシーなしで実行されており、HTTPS を使用して URL で公開されています。
Red Hat build of Keycloak の設定:
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak
セキュリティーと可用性の観点から、サーバーの前で TLS Termination プロキシーを使用することが強く推奨されます。詳細は、リバースプロキシーの使用 を参照してください。
5.2.3. バックエンドのエンドポイントに、サーバーが公開されているのと同じ URL を使用するように強制する
この例では、サーバーが使用するのと同じ URL を使用してバックエンドエンドポイントが公開されているため、クライアントは要求の送信元に関係なく常に同じ URL を取得します。
Red Hat build of Keycloak の設定:
bin/kc.[sh|bat] start --hostname=mykeycloak --hostname-strict-backchannel=true
bin/kc.[sh|bat] start --hostname=mykeycloak --hostname-strict-backchannel=true
5.2.4. デフォルトポート以外のポートを使用してサーバーを公開する
この例では、デフォルトポート以外のポートを使用してサーバーにアクセスできます。
Red Hat build of Keycloak の設定:
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak:8989
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak:8989
5.2.5. 異なるポートを使用して、TLS 再暗号化プロキシーの背後で Red Hat build of Keycloak を公開する
この例では、サーバーはプロキシーの背後で実行されており、サーバーとプロキシーの両方が独自の証明書を使用しているため、Red Hat build of Keycloak とプロキシー間の通信は暗号化されます。プロキシーに独自の証明書を使用させる必要があるため、プロキシーモードの reencrypt
が使用されます。プロキシー設定オプション (およびホスト名設定オプション) は、サーバーが実際にリッスンしているポートを変更しないことに留意する必要があります (JavaScript や CSS リンク、OIDC のよく知られたエンドポイント、リダイレクト URI などの静的リソースのポートのみが変更されます)。したがって、HTTP 設定オプションを使用して、別のポート (例: 8543) を内部でリッスンするように Red Hat build of Keycloak サーバーを変更する必要があります。プロキシーはポート 8443 (ブラウザー経由でコンソールにアクセスしている際に表示されるポート) をリッスンします。サンプルのホスト名 my-keycloak.org
がサーバーに使用され、同様に管理コンソールには admin.my-keycloak.org
サブドメイン経由でアクセスできます。
Red Hat build of Keycloak の設定:
bin/kc.[sh|bat] start --proxy=reencrypt --https-port=8543 --hostname-url=https://my-keycloak.org:8443 --hostname-admin-url=https://admin.my-keycloak.org:8443
bin/kc.[sh|bat] start --proxy=reencrypt --https-port=8543 --hostname-url=https://my-keycloak.org:8443 --hostname-admin-url=https://admin.my-keycloak.org:8443
注記: 現在、assthrough
モードと reencrypt
モードに違いはありません。当面は、今後を見据えた上での設定互換性を目的としています。唯一の違いは、edge
プロキシーモードが使用される場合、HTTP が暗黙的に有効になることです (繰り返しになりますが、前述したように、これはサーバーの動作には影響しません)。
いずれかのプロキシーモードを使用すると、Red Hat build of Keycloak は Forwarded ヘッダーと X-Forwarded-* ヘッダーに依存します。設定を誤ると、Red Hat build of Keycloak がセキュリティー上の問題にさらされる可能性があります。詳細は、リバースプロキシーの使用 を参照してください。