VMware Global Community
HayatoItoF
Contributor
Contributor

リバースプロキシ経由でPowerCLI接続ができない

リバースプロキシ経由でConnect-VIServerを実行したところ以下のエラーが表示され接続できませんでした。
原因や解決策などご存じの方がいらっしゃれば教えてください。

HTTPサービスを使用できません。原因としては、サービスがビジー状態であることや、
指定されたアドレスでリッスンするエンドポイントが見つからなかったことが考えられます。
アドレスが正しいことを確認し、後でもう一度サービスにアクセスしてください。
発生場所 行:1 文字:1
+ CategoryInfo : NotSpecified: (:) [Connect-VIServer], ViError
+ FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_SoapException,VMware.VimAutomation.ViCore.Cmd
lets.Commands.ConnectVIServer

0 Kudos
4 Replies
gowatana
Leadership
Leadership

こんにちは。

PowerCLI からリバース プロキシ経由について、より具体的な情報があると解決のヒントになるかもしれません。
たとえば、下記のような情報があるとよさそうかなと思いました。

  • リバース プロキシの構成
  • PowerCLI を実行しているマシンから vCenter へのネットワーク構成
  • vCenter Server 側で実施済みの設定内容
  • 他のツールであれば接続できているか

 

0 Kudos
nkaneda1
Enthusiast
Enthusiast

トラブルシューティング観点では以下も気になりました。

・リバースプロキシで必要なポートが変換されているか

・Client側でvCenter IPの名前解決はどうなっているのか(VCのIP or リバースプロキシで設定したIP?)

・そもそもリバースプロキシ経由でのアクセスは仕様上動作可能なのか(実績あり?)

0 Kudos
HayatoItoF
Contributor
Contributor

返信ありがとうございます。

>他のツールであれば接続できているか
teratermからのssh接続やVMRCからの接続は確認しています。
その他のツールなどでの接続可否は不明です。
 
>リバースプロキシで必要なポートが変換されているか
PowerCLIでの接続で必要なポートが443であれば変換されていると思います。
 
>Client側でvCenter IPの名前解決はどうなっているのか(VCのIP or リバースプロキシで設定したIP?)
リバースプロキシ側で設定されているIPです。
 
>そもそもリバースプロキシ経由でのアクセスは仕様上動作可能なのか(実績あり?)
調べた限りでは同様の事例が見つけられておらず、わかりません。
 
>リバース プロキシの構成
以下のように変換を行っています
    <LocationMatch /(.*)>
        ProxyPass https://vCenter/$1 
        ProxyPassReverse https://vCenter/$1 
    </LocationMatch>
    <LocationMatch /ui/app-fabric/fabric>
        ProxyPass wss://vCenter/ui/app-fabric/fabric
        ProxyPassReverse wss://vCenter/ui/app-fabric/fabric
        RequestHeader set Origin https://vCenter 
    </LocationMatch>
    <LocationMatch /ui/webconsole/authd(.*)>
        ProxyPass wss://vCenter/ui/webconsole/authd$1
        ProxyPassReverse wss://vCenter/ui/webconsole/authd$1
        RequestHeader set Origin https://vCenter 
    </LocationMatch>
    <LocationMatch /vsphere-client/endpoints/webconsole/authd(.*)>
        ProxyPass wss://vCenter/vsphere-client/endpoints/webconsole/authd$1
        ProxyPassReverse wss://vCenter/vsphere-client/endpoints/webconsole/authd$1
    </LocationMatch>
    <LocationMatch /ui/messaging>
        ProxyPass wss://vCenter/ui/messaging
        ProxyPassReverse wss://vCenter/ui/messaging
    </LocationMatch>
    <LocationMatch /ui/live-updates>
        ProxyPass wss://vCenter/ui/live-updates
        ProxyPassReverse wss://vCenter/ui/live-updates
    </LocationMatch>
 
>PowerCLI を実行しているマシンから vCenter へのネットワーク構成
PowerCLIを実行しているマシンとvCenterは、同一サブネット内に存在しています。
 
>vCenter Server 側で実施済みの設定内容
どういった情報があれば良いかわからず申し訳ありませんが、仮想マシンの操作や作成などは問題なく行える状態です。
ファイアウォール設定などでPowerCLIを実行しているマシンを遮断するなども行っておりません。

以上の情報を合わせて何かご存じの方がいらっしゃれば教えていただきたく存じます。
よろしくお願いいたします。

0 Kudos
kawaman
Leadership
Leadership

私もリバースプロキシ経由での vCenter 接続は試したことが無いので推測ですが、以下気になった点を。

 

> >他のツールであれば接続できているか
> teratermからのssh接続やVMRCからの接続は確認しています。
> その他のツールなどでの接続可否は不明です。

基本的な確認点として、リバースプロキシ経由で Web ブラウザを利用した vSphere Client ではログイン可能でしょうか?


>Client側でvCenter IPの名前解決はどうなっているのか(VCのIP or リバースプロキシで設定したIP?)
> リバースプロキシ側で設定されているIPです。

その上で、リバースプロキシ経由のアクセスの場合も vCenter の FQDN で接続する必要があるかと思います。(SSO の認証では FQDN で処理されるので)
Web ブラウザの vSphere Client でログインした場合でもリバースプロキシの IP でアクセスした場合、恐らく認証で失敗すると思われます。

 

>PowerCLI を実行しているマシンから vCenter へのネットワーク構成
> PowerCLIを実行しているマシンとvCenterは、同一サブネット内に存在しています。

ここもテストするにしても疑問があり、vCenter の FQDN で接続する上で、同一 L2 ネットワーク上では直接アクセスできてしまうので、
上で記した vCenter の FQDN で試す場合は意図的にクライアント側の Hosts に vCenter の FQDN をリバースプロキシの IP で設定する必要があるかも?
行き帰りで経路が分かれる(非対称ルーティング的に)ってこともあるのかな?とも。

同一 L2 上ならリバースプロキシは不要だと思いますし、試すのなら別ネットワークからの接続テストで切り分けたほうが良いかと思います。

 

> >他のツールであれば接続できているか
> teratermからのssh接続やVMRCからの接続は確認しています。
> その他のツールなどでの接続可否は不明です。

また、同一 L2 上であれば、上記ツール類は恐らくリバースプロキシ経由ではなく直接接続しているということでしょうか?

 

ご参考まで

0 Kudos