ここでは、Apacheのリバースプロキシ機能を使ってvCenterへアクセスする方法についてメモっておきます。
環境
項目 | バージョン |
---|---|
vCenter | 6.7.0 |
Apache | 2.4.6 |
CentOS | 7.6 |
本環境では、vCenterとPSCは分けていません。
準備
Apacheインストール
Apacheをインストールします。
1 2 |
[root@reverse01 ~]# yum -y install httpd mod_ssl |
設定変更
以下のようにバーチャルホストを追加します。
ここでは 9443
でリバースプロキシへアクセスするようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
[root@reverse01 ~]# cd /etc/httpd/conf.d [root@reverse01 conf.d]# vi ssl.conf (snip) Listen 9443 https <VirtualHost *:9443> SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off # vCenterからのレスポンスのjavascriptに埋め込まれてるアクセス先を変更する # レスポンスボディを書き換えないとリバースプロキシではなくバックエンドのvCenterのアドレスで接続してしまう AddOutputFilterByType SUBSTITUTE text/html Substitute s/vcenter04.local/vcenter04.local:9443/n # Locationヘッダーもリバースプロキシへアクセスするように書き換える必要がある Header edit* Location vcenter04.local vcenter04.local:9443 ProxyPreserveHost Off ProxyRequests Off <LocationMatch /(.*)> ProxyPass https://vcenter04.local:443/$1 ProxyPassReverse http://vcenter04.local:443/$1 </LocationMatch> # Webコンソール用のWSS設定 <LocationMatch /ui/webconsole/authd(.*)> ProxyPass wss://vcenter04.local/ui/webconsole/authd$1 ProxyPassReverse wss://vcenter04.local/ui/webconsole/authd$1 </LocationMatch> # FlashのWebコンソール用のWSS設定 <LocationMatch /vsphere-client/endpoints/webconsole/authd(.*)> ProxyPass wss://vcenter04.local/vsphere-client/endpoints/webconsole/authd$1 ProxyPassReverse wss://vcenter04.local/vsphere-client/endpoints/webconsole/authd$1 </LocationMatch> # その他WWS設定(タスクの表示やVM作ったときの画面自動反映など) <LocationMatch /ui/messaging> ProxyPass wss://vcenter04.local/ui/messaging ProxyPassReverse wss://vcenter04.local/ui/messaging </LocationMatch> # その他WWS設定(タスクの表示やVM作ったときの画面自動反映など) <LocationMatch /ui/live-updates> ProxyPass wss://vcenter04.local/ui/live-updates ProxyPassReverse wss://vcenter04.local/ui/live-updates </LocationMatch> # ここではフロントの証明書はApacheのものを流用 SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key </VirtualHost> |
hostsの設定
リバースプロキシおよび接続するクライアントはvCenterに設定したFQDNでアクセスできるようにする必要があります。
ここではhostsの設定を変更をしました。
Apacheの起動
Apacheを起動します。
1 2 3 |
[root@reverse01 conf.d]# systemctl start httpd [root@reverse01 conf.d]# systemctl enable httpd |
これで、vCenterにアクセスして画面やコンソールの表示ができます 🙂
リバースプロキシでアクセスできるようになれば、FQDNやポートで各vCenterのルーティング制御が出来ますね 🙂