Keycloakのデフォルトポートは以前はオンでした808。今私がキークロークを始めているとき
./bin/standalone.sh
それからそれは999ポートで始まります。 //つまり、最近のkeycloakのデフォルトポートは9990だと思います。
しかし面白いのは、以下のように明示的なキークロークポートを提供するときです。
./bin/standalone.sh -Djboss.socket.binding.port-offset=8080
このキークロークがポートで開始された後17101。とても奇妙。
808ポートでkeycloakを開始するのに苦労しています。どうやってやるの?
後もう一つ :
驚くべきことに、undertowと呼ばれるものが8080ポートで実行されています。 keycloakを起動しようとすると、stacktraceでトレースできます。
YUT0006: Undertow HTTP listener default listening on 127.0.0.1:8080
構成を変更せずに基本的なbin/standalone.sh
を実行すると、キークロークサーバーはポート8080
で起動します。
私はあなたを混乱させるのはあなたのサーバーが起動したときにあなたが得るログ、より具体的にはこの部分であると信じています:
12:25:25,688 INFO [org.jboss.as](コントローラーブートスレッド)WFLYSRV0051:管理コンソールがリッスンしている http://127.0.0.1:999
ポート9990
はキークロークサーバーではなく、WildFlyサーバーです。
また、オフセットを間違って使用しています。基本的に、offsetは、元のポート(8080
)をインクリメントする数です。
オフセットを15に設定すると、keycloakサーバーはポート8095
で実行されます。
また、keycloakを開始する前に、ポート8080を使用する他のプロセスがあるかどうかを確認してください
lsof -i :8080
デフォルトのポートは8080のままです。Keycloakインストールディレクトリのstandalone/configuration/standalone.xml
をチェックインし、jboss.http.port
を探します。ポートを強制する場合は、-Djboss.http.port=8080
を使用します。 offset構成を使用しています。あなたの場合、standalone.xml
が変更されたように見えるため、ベースポートに8080を追加しています。
./bin/standalone.sh -Djboss.socket.binding.port-offset=8080
値を提供することによって8080
ために jboss.socket.binding.port-offset
、サーバー上で"8080"をすべてのポートバインディングに追加します間違った。
あなたはあなたの問題を取り除くために以下をすることができます。
./standalone.sh -b 0.0.0.0 -Djboss.socket.binding.port-offset=1000
これにより「1000
"をサーバー上のすべてのportbindings
に送信します。これは、ポートの競合を回避します。
インストールする代わりに、dockerで実行することもできます。このコマンドをプロジェクトのdocker-composeファイルに貼り付けるのがより簡単で、ポートを変更したい場合は簡単に行うことができます。
version: ‘3’
volumes:
Postgres_data:
driver: local
services:
postgres:
image: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- 5432:5432
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
keycloak:
image: jboss/keycloak
environment:
DB_VENDOR: POSTGRES
DB_ADDR: postgres
DB_DATABASE: keycloak
DB_USER: keycloak
DB_SCHEMA: public
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
# Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn’t be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it.
#JDBC_PARAMS: “ssl=true”
ports:
- 8080:8080
depends_on:
- postgres