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

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

 

Cause

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. 

Resolution

    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.
    Article Properties
    Article Number: 000215758
    Article Type: Solution
    Last Modified: 14 Sep 2023
    Version:  4
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.