GNU/Linux >> Linux の 問題 >  >> Linux

バックエンドサービスへのアクセスエラー–WSO2がパスワードを忘れた

WSO2を正常に構成し、NGINXリバースプロキシも設定しました。ただし、発行元または開発者ポータルのログインページから[パスワードを忘れた場合]リンクをクリックすると、エラーが発生します–バックエンドサービスへのアクセス中にエラーが発生しました wso2carbon.logを見てください ファイルはより多くの情報を明らかにします:

"ERROR {org.wso2.carbon.identity.mgt.endpoint.util.client.ApiClient} -
 Error while performing the request method: GET on the resource: https://localhost:9443/api/identity/recovery/v0.9/captcha?tenant-domain=carbon.super&captcha-type=ReCaptcha&recovery-type=password-recovery com.sun.jersey.api.client.ClientHandlerException: 
javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching localhost found".

エラーは、tg.comに対して発行されたSSL証明書を使用しているときに、ローカルホストURLがパスワード回復エンドポイントに接続するためにWSO2によって使用されていることを明確に示しています。したがって、SSLHandshakeException「ローカルホストに一致するサブジェクト代替DNS名が見つかりません」。ここでの問題は、SSL証明書がLet’s Encrypt認証局によって発行されたものであり、サブジェクト代替名(SAN)が「localhost」に設定されていないことです。 '、 明らかに。 Let’sEncryptがローカルホストをSANとしてサポートしない理由を知るにはここをクリックしてください。

WSO2はホスト名をtg.comとして使用するように構成されていますが、サービスは引き続きlocalhostに接続します。 パスワード回復エンドポイントにアクセスします。 repository/conf/deployment.tomlでサーバーのホスト名を設定する方法は次のとおりです。 。

[server]
hostname = "tg.com"

では、ローカルホストに依存するのではなく、サーバーのホスト名を使用する必要があることをWSO2に通知するにはどうすればよいでしょうか。

WSO2はlocalhostに依存しています 内部API呼び出しの場合、ほとんどの構成ファイル(localhostでハードコードされている)で確認できます。この構成は、サービスエンドポイントの内部絶対URLを構築するために使用され、内部API呼び出しが生成されるときに使用されます。したがって、「localhost」を置き換えます ‘サーバーのホスト名を構成ファイルに直接含めると、他のさまざまな問題が発生する可能性があります。

内部ホスト名を構成するには、次の2つのオプションのいずれかに従います。

オプション1internal_hostnameの設定 deployment.tomlの変数 ファイル。

deployment.tomlを開きます 「repository/conf/」の下にあるファイル ‘フォルダを作成し、[server]の下に次の行を追加します セクション。

internal_hostname = "tg.com"

希望のホスト名に変更することを忘れないでください。

オプション2: サブジェクト代替名としてローカルホストを追加

別のオプションは、ローカルホストがSAN属性に追加された新しい自己署名証明書を生成することです。

keytool -genkey -alias <alias_name> -keyalg RSA -keysize 2048 -keystore <keystore_name>.jks -dname "CN=<hostname>, OU=<organizational_unit>,O=<organization>,L=<Locality>,S=<State/province>,C=<country_code>" -storepass <keystore_password> -keypass <confirm_keystore_password> -ext SAN=dns:localhost -ext ExtendedKeyUsage=serverAuth -validity 825

注: 自己署名証明書は、開発環境とテスト環境でのみ使用できます。

WSO2のキーストアを設定する方法については、このガイドを参照してください。


Linux
  1. [OpenStack-Devstack]:エラー:stack.shの実行時にサービスn-netが実行されていません

  2. 公開鍵の取得は許可されていません–WSO2MySQLエラー

  3. MySQLでパスワードによってIDENTIFIEDでGRANTを使用中にエラーが発生しました

  1. Ubuntu 13.04でターミナルを使用してMysqlにアクセスしますか?

  2. 「ntpq -pn」コマンドで「名前またはサービスが不明です」というエラーが返される

  3. Samba 共有での Windows 10 パスワード エラー

  1. マウント エラー 13 =許可が拒否されました

  2. サーバー ログの (ネットワークに到達できません) エラー

  3. サービス開始リクエストの繰り返しが早すぎたため、制限の開始を拒否しました