アプリケーションの権限を管理するために、Keycloak認証サーバーを使用しています。ただし、スタンドアロンサーバーにはローカルでのみアクセスできることがわかりました。
http://localhost:8080/auth
は機能しますが、機能しませんhttp://myhostname:8080/auth
。この問題は、内部ネットワークからサーバーへのアクセスを許可しません。
スタンドアロンのKeycloakサーバーは、JBoss Wildflyインスタンスの上部で実行され、このサーバーは、セキュリティ上の理由から、デフォルトで外部からのアクセスを許可していません(管理コンソール専用である必要がありますが、Keycloakの場合はすべてのURLに影響するようです) 。有効にするには、-b=0.0.0.0
オプションを使用して起動する必要があります。
ただし、Wildflyがリモートマシンで実行されていて、IPアドレスまたはホスト名でネットワークを介して管理ページにアクセスしようとしている場合は、たとえば http://54.94.240.170:8080/ とします。 、おそらくこのWebページは利用できませんというエラーが表示されます。ワイルドフライは、「いいえ、ありがとうございます。ローカルマシンにいる人以外の人からのリクエストは許可していません」と述べています。
以下も参照してください:
このコマンドでキークロークサーバーを起動できます
standalone.bat -b 0.0.0.0
今ここで起こっている人のために、私はこれをKeycloak 8のドキュメントで見つけました:
ユーザーは、localhost、127.0.0.1、10.0.x.x、192.168.x.x、172.16.x.xなどのプライベートIPアドレスを使用している限り、SSLなしでKeycloakと対話できます。非プライベートIPアドレスからSSLなしでKeycloakにアクセスしようとすると、エラーが発生します。