PowerFlex 3.X: Webové uživatelské rozhraní prezentačního serveru se nenačítá

摘要: Webové uživatelské rozhraní prezentačního serveru se nepodařilo načíst, protože v certifikátu je přítomno více přípon SAN (Subject Alternative Name).

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

症状

Služba prezentačního serveru se spustí, ale webové stránce se nepodaří načíst počáteční přihlašovací obrazovku.

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

Protokol prezentačního serveru zobrazuje následující chyby:

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

Spuštěním následujícího příkazu ověřte, zda prezentační server používá více položek sítě SAN. Tento proces lze spustit na certifikátu, který zákazník obnovuje nebo vyměňuje a který obsahuje více položek rozšíření sítě 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.

 

 

Důsledky

Pokud se nepodaří načíst webové uživatelské rozhraní pro mgmt-server, nebude možné spravovat cluster PowerFlex prostřednictvím uživatelského rozhraní (UI). To ohrožuje jednoduchost správy a provozu systému PowerFlex. 

原因

K problému dochází, když Jetty framework, konkrétně základní třída org.eclipse.jetty.util.ssl.SslContextFactory Pokusí se zpracovat více certifikátů v úložišti klíčů, což je operace, pro kterou není navržená. Ovlivněná verze prezentačního serveru v podstatě není vybavená pro správu certifikátů, které obsahují více než jednu položku rozšíření SAN (Subject Alternative Name), což vede k selhání, když na takové certifikáty narazí. 

解决方案

    1. Využijte certifikát, který obsahuje pouze jednu položku přípony SAN (Subject Alternative Name). To odpovídá aktuálním omezením serveru správy a mělo by umožnit normální provoz.
    2. Proveďte upgrade mgmt-server na verzi 3.6.1. Tato verze obsahuje vylepšenou podporu více položek rozšíření sítě SAN, což zjednodušuje potřebu upravovat certifikáty.

     

    Dotčené verze

    PowerFlex 3.5.x

    PowerFlex 3.6.0.x

    Opraveno ve verzi

    PowerFlex 3.6.1

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