Die Webbenutzeroberfläche des PowerFlex-Präsentationsservers kann nicht geladen werden

摘要: Die Webbenutzeroberfläche des Präsentationsservers kann nicht geladen werden, weil mehrere SAN-Erweiterungen (Subject Alternative Name) im Zertifikat vorhanden sind.

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

症状

Betroffene Versionen

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

Der Präsentationsserverservice wird gestartet, aber die Webseite kann den ersten Anmeldebildschirm nicht laden.
[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)


Der Präsentationsserver /opt/emc/scaleio/mgmt-server/logs/scaleio.log zeigt die folgenden Fehler an:

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)


Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Präsentationsserver mehrere SAN-Einträge verwendet. Dies kann für das Zertifikat ausgeführt werden, das der Kunde erneuert oder ersetzt, das über mehrere SAN-Erweiterungseinträge verfügt.

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

 

原因

Der Präsentationsserver, auch bekannt als Mgmt-Server, bietet keine Unterstützung für die Verarbeitung mehrerer SAN-Erweiterungseinträge (Subject Alternative Name). Dieses Problem kann auftreten, wenn die Zertifikate des Mgmt-Servers mit mehreren SAN-Erweiterungseinträgen für die betroffene Version erneuert oder ersetzt werden.
 

Auswirkungen
Wenn die Webbenutzeroberfläche für den Mgmt-Server nicht geladen wird, kann das PowerFlex-Cluster nicht über die Benutzeroberfläche (UI) verwaltet werden. Dies erschwert das Management des PowerFlex-Systems. 

 

Ursache
Das Problem tritt auf, wenn das Jetty-Framework, die Basisklasse org.eclipse.jetty.util.ssl.SslContextFactor, versucht, mehrere Zertifikate in einem KeyStore zu verarbeiten. Dies ist ein Vorgang, für den er nicht ausgelegt ist.
Die betroffene Version des Präsentationsservers ist nicht für die Verwaltung von Zertifikaten ausgestattet, die mehr als einen SAN-Erweiterungseintrag (Subject Alternative Name) enthalten.
Dies führt zu einem Fehler, wenn solche Zertifikate auftreten. 

解决方案

    Dieses Verhalten ist in PowerFlex 3.6.1 und höher behoben.


    Problemumgehung

    1. Verwenden Sie ein Zertifikat, das einen einzigen San-Erweiterungseintrag (Subject Alternative Name) enthält. Dies entspricht den aktuellen Einschränkungen des Managementservers. Es sollte einen normalen Betrieb ermöglichen.
    2. Führen Sie ein Upgrade des Mgmt-Servers auf Version 3.6.1 durch. Diese Version bietet verbesserte Unterstützung für mehrere SAN-Erweiterungseinträge und es ist nicht erforderlich, die Zertifikate anzupassen.
    文章属性
    文章编号: 000215758
    文章类型: Solution
    上次修改时间: 10 12月 2025
    版本:  5
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。