Hace ya un tiempo que actualicé mi entorno de pruebas del vCenter 5.5 al 6.0. Siempre había usado Apache como proxy inverso de mi vCenter 5.5 para el SSL y funcionaba a la perfección, pero al realizar la actualización al 6.0 comprobé que no podía iniciar sesión ya que se me quedaba en una página de error 404, pero viendo la URL apuntaba al nombre interno del vCenter con su sufijo XXX.local, por lo que era normal que desde fuera de mi entorno me apareciera eso. ¿Que podía hacer?
La verdad que esto me llevo en un primer momento ha realizar un rollback y volver a mi vCenter 5.5 que tan bien configurado lo tenia ya.
Con el tiempo decidí que tenia que volver a probar a realizar otra actualización por si la primera había pasado algún error y no había sido consciente, pero nada. Volvía a actualizar y ahí estaba mi error 404. En esta ocasión decidí dejarlo así y paralelamente montar un vCenter en Windows (ya que uso el Appliance) para ver si podía hacer algo para solucionarlo.
Este error aparecía cuando intentaba el navegador contactar con el SSO, por lo que es aquí donde centré mi búsqueda ya que en la versión 6 una de las cosas que más cambio sufre es justamente esta funcionalidad
En este caso encontré la solución en el fichero hostname que está dentro de «vmware-sso», en mi Appliance este fichero está en «/etc/vmware-sso/». En este fichero aparecía el nombre del vCenter con el FQDN local, por lo que cambíe el FQDN al público y reinicie el Appliance.
Una vez iniciado de nuevo e intentar iniciar sesión el vSphere Web Client comprobé que ahora si que podía acceder correctamente por lo que ya podía consolidar la actualización al vCenter 6 sin miedo a no poder acceder desde fuera.
Por si es de utilidad la configuración de Apache para la conexión SSL inversa con vCenter la dejo aquí abajo publicada:
<VirtualHost _default_:443> ServerAdmin xxx ServerName xxx SSLEngine on SSLCertificateFile xxx SSLCertificateKeyFile xxx SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off RewriteEngine On ProxyPreserveHost On DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/xxx.log CustomLog ${APACHE_LOG_DIR}/xxx_access.log combined <Location /> ProxyPass https://xxx/ ProxyPassReverse https://xxx/ SSLRequireSSL RedirectMatch permanent ^/$ https://xxx/vsphere-client/?csp RedirectMatch permanent ^/admin$ https://xxx/admin/ RedirectMatch permanent ^/vami$ https://xxx/vami/ RedirectMatch permanent ^/websso$ https://xxx/websso/ RedirectMatch permanent ^/psc$ https://xxx/psc/ </Location> <Location /vsphere-client/> ProxyPass https://yyy:9443/vsphere-client/ ProxyPassReverse https://yyy:9443/vsphere-client/ SSLRequireSSL </Location> admin/> ProxyPass https://yyy:5480/ ProxyPassReverse https://yyy:5480/ SSLRequireSSL </Location> vami/> ProxyPass https://yyy:5480/vami/ ProxyPassReverse https://yyy:5480/vami/ SSLRequireSSL </Location> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown