PowerFlex 3.X: La interfaz de usuario web del servidor de presentación no se carga

摘要: La interfaz de usuario web del servidor de presentación no se carga debido a la existencia de varias extensiones de nombre alternativo del sujeto (SAN) presentes en el certificado.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Se inicia el servicio del servidor de presentación, pero la página web no puede cargar la pantalla de inicio de sesión inicial.

[root@host1 .config]# systemctl status mgmt-server.service

● mgmt-server.service - Scaleio MGMT Server
   Loaded: loaded (/etc/systemd/system/mgmt-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-1-09 05:30:03 EST; 11s ago
Main PID: 29700 (java)
   CGroup: /system.slice/mgmt-server.service
    
        └─29700 /bin/java -Xmx4g -Dlog4j2.formatMsgNoLookups=true -Djna.tmpdir=/opt/emc/scaleio/mgmt-server/tmp -Djava.io.tmpdir=/opt/emc/scaleio/mg...
Dec 09 05:30:08 host1 java[29700]: at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:320)
...
Dec 09 05:30:08 host1  java[29700]: at java.lang.Thread.run(Thread.java:750)

El registro del servidor de presentación muestra los siguientes errores:

/opt/emc/scaleio/mgmt-server/logs/scaleio.log:

Suppressed: com.google.common.util.concurrent.ServiceManager$FailedService: HttpdService [FAILED]
Caused by: java.lang.IllegalStateException: KeyStores with multiple certificates are not supported on the base class org.eclipse.jetty.util.ssl.SslContextFactory. (Use org.eclipse.jetty.util.ssl.SslContextFactory$Server or org.eclipse.jetty.util.ssl.SslContextFactory$Client instead)
    at org.eclipse.jetty.util.ssl.SslContextFactory.newSniX509ExtendedKeyManager(SslContextFactory.java:1288)
    at org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1270)
    at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:372)
    at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:243)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:321)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.server.Server.doStart(Server.java:401)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at com.emc.vxflexos.webui.backend.httpd.HttpdService.startUp(HttpdService.java:31)
    at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
    at com.google.common.util.concurrent.Callables$4.run(Callables.java:119)
    at java.lang.Thread.run(Thread.java:750)

Ejecute el siguiente comando para verificar si el servidor de presentación utiliza varias entradas SAN. Esto se puede ejecutar con el certificado que el cliente está renovando o reemplazando y que tiene varias entradas de extensión de SAN.

[root@host1 /]# openssl x509 -noout -text -in <location_of_new_signed_cert> | grep -A1 -i 'Subject Alternative Name'
            X509v3 Subject Alternative Name:
                DNS:host1, DNS:host1.

 

 

Impacto

Si no se carga la interfaz de usuario web para el servidor de administración, no se puede administrar el clúster de PowerFlex a través de la interfaz de usuario (UI). Esto compromete la facilidad de administración y operación del sistema PowerFlex. 

原因

El problema se produce cuando la infraestructura Jetty, específicamente la clase base org.eclipse.jetty.util.ssl.SslContextFactory intenta procesar varios certificados en un almacén de claves, una operación para la que no está diseñado. Esencialmente, la versión del servidor de presentación afectada no está equipada para administrar certificados que contienen más de una entrada de extensión de nombre alternativo de sujeto (SAN), lo que provoca un error cuando encuentra dichos certificados. 

解决方案

    1. Utilice un certificado que solo contenga una entrada de extensión de nombre alternativo de sujeto (SAN). Esto se alinea con las limitaciones actuales del servidor de administración y debería permitir un funcionamiento normal.
    2. Actualice mgmt-server a la versión 3.6.1. Esta versión incluye compatibilidad mejorada con varias entradas de extensión de SAN, lo que elimina la necesidad de ajustar los certificados.

     

    Versiones afectadas

    PowerFlex 3.5.x

    PowerFlex 3.6.0.x

    Problema corregido en la versión

    PowerFlex 3.6.1

    文章属性
    文章编号: 000215758
    文章类型: Solution
    上次修改时间: 10 12月 2025
    版本:  5
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。