PowerFlex 3.X: Falha ao carregar a IU da Web do servidor de apresentação

摘要: A IU da Web do Servidor de apresentação falha ao carregar devido a várias extensões de nome alternativo da entidade (SAN) presentes no certificado.

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

症状

O serviço do servidor de apresentação é iniciado, mas a página da Web falha ao carregar a tela de log-in 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)

O log do servidor de apresentação mostra os seguintes erros:

/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)

Execute o comando a seguir para verificar se o servidor de apresentação usa várias entradas SAN. Isso pode ser executado no certificado que o cliente está renovando ou substituindo e que tenha várias entradas de extensão 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

A falha ao carregar a interface do usuário da Web para o servidor de gerenciamento resulta na incapacidade de gerenciar o cluster do PowerFlex por meio da interface do usuário (IU). Isso compromete a facilidade de gerenciamento e operação do sistema PowerFlex. 

原因

O problema ocorre quando a estrutura Jetty, especificamente a classe base org.eclipse.jetty.util.ssl.SslContextFactory tenta processar vários certificados em um keystore, uma operação que não foi projetada para manipular. Essencialmente, a versão afetada do servidor de apresentação não está equipada para gerenciar certificados que contêm mais de uma entrada de extensão de nome alternativo da entidade (SAN), o que leva a uma falha quando encontra esses certificados. 

解决方案

    1. Utilize um certificado que contenha apenas uma única entrada de extensão de nome alternativo da entidade (SAN). Isso se alinha às limitações atuais do servidor de gerenciamento e deve permitir a operação normal.
    2. Faça upgrade do servidor mgmt para a versão 3.6.1. Essa versão inclui suporte aprimorado para várias entradas de extensão de SAN, aliviando a necessidade de ajustar seus certificados.

     

    Versões afetadas

    PowerFlex 3.5.x

    PowerFlex 3.6.0.x

    Correção feita na versão

    PowerFlex 3.6.1

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