La interfaz de usuario web del servidor de presentación de PowerFlex no se carga

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

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

症状

Versiones afectadas

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

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 servidor de presentación /opt/emc/scaleio/mgmt-server/logs/scaleio.log muestra los siguientes errores:

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 de SAN. Esto se puede ejecutar en función del 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  | grep -A1 -i 'Subject Alternative Name'
            X509v3 Subject Alternative Name:
                DNS:host1, DNS:host1.cn

 

原因

El servidor de presentación, también conocido como servidor de administración, carece de soporte para manejar varias entradas de extensión de nombre alternativo de sujeto (SAN). Este problema puede surgir cuando los certificados del servidor de administración, con varias entradas de extensión de SAN, se renuevan o reemplazan en la versión afectada.
 

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 dificulta la administración del sistema PowerFlex. 

 

Causa raíz
El problema se produce cuando la infraestructura Jetty, la clase base org.eclipse.jetty.util.ssl.SslContextFactory intenta procesar varios certificados en un KeyStore. Esta es una operación que no está diseñada para manejar.
La versión del servidor de presentación afectada no está equipada para administrar certificados que contengan más de una entrada de extensión de nombre alternativo de sujeto (SAN).
Esto genera una falla cuando encuentra dichos certificados. 

解决方案

    Este comportamiento se corrige en PowerFlex 3.6.1 y versiones posteriores.


    Solución alternativa

    1. Utilice un certificado que contenga una sola entrada de extensión de nombre alternativo de sujeto (SAN). Esto se alinea con las limitaciones actuales del servidor de administración. Debe permitir el funcionamiento normal.
    2. Actualice mgmt-server a la versión 3.6.1. Esta versión incluye soporte mejorado para varias entradas de extensión de SAN y no es necesario ajustar los certificados.
    文章属性
    文章编号: 000215758
    文章类型: Solution
    上次修改时间: 10 12月 2025
    版本:  5
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。