aoki_dの備忘録 ~私が知ってる何かは他の誰かが知ってる何か~

VDIを中心に、IT技術に関してちょこちょこ覚え書き

JMP Serverの証明書期限切れでConnection Serverからアクセスできなくなった場合の対処法

1年ほど前に構築した、Horizon環境のJMPサーバーに、突然アクセスできなくなってしまいました。

Horizon Consoleの[設定]-[JMP設定]のメニューを開くと、構成済みのJMP ServerのURLにアクセスできていません。Horizon Consoleに接続しているブラウザの開発者ツールを使用して、JMP ServerからHTTP 401応答が返ってきていることが確認できました。

 

詳細を調べるには、JMP Serverのログファイル (私の検証環境では C:\Program Files(x86)\VMware\JMP\com\xmp\logs\server_jmp.production.log ) を参照します。

このログから、JMP ServerがHTTP 401応答を返した原因が "Unable to load the public decryption keys or public decryption keys are already expired" であることが分かりました。

 

この問題の対処方法については、KB76627にまとめられています。

kb.vmware.com

JMP Serverにインストールされているopenssl.exeコマンドを使用して、証明書を再発行するというものですが…

exeファイルが置かれている C:\Program Files(x86)\VMware\JMP フォルダは、環境変数PATHの値に追加されていないでしょうから、事前に追加しておきます。

あるいは、作業フォルダが C:\Program Files(x86)\VMware\JMP\com\keys ですから、  ..\..\openssl.exe と指定してもよいでしょう。

 

それともう一点、opensslのconfigファイルが見つからないというエラーが出てくる場合があります。

JMP Serverと一緒にインストールされているopensslの構成ファイルは、exeファイルと同じフォルダにある C:\Program Files(x86)\VMware\JMP\openssl.cfg ファイルですが、このファイルのパスを、環境変数 OPENSSL_CONF の値に追加しておく必要があります。

jp.globalsign.com

 

初期設定もそうですが、JMP Serverは、この証明書まわりの設定がちょっと厄介ですね…