vSphere Web Client 6 con Apache como proxy inverso

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  
  
    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.