PowerFlex 3.X : L’interface utilisateur Web du serveur de présentation ne parvient pas à se charger

Summary: L’interface utilisateur Web du serveur de présentation ne parvient pas à se charger en raison de plusieurs extensions de nom alternatif d’objet (SAN) présentes dans le certificat.

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

Le service du serveur de présentation démarre, mais la page Web ne parvient pas à charger l’écran de connexion initial.

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

Le journal du serveur de présentation affiche les erreurs suivantes :

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

Exécutez la commande suivante pour vérifier si le serveur de présentation utilise plusieurs entrées SAN. Elle peut être exécutée sur le certificat que le client renouvelle ou remplace et qui possède plusieurs entrées d’extension 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.

 

 

Impact

L’échec du chargement de l’interface utilisateur Web pour mgmt-server entraîne l’incapacité à gérer le cluster PowerFlex via l’interface utilisateur (UI). Cela compromet la facilité de gestion et d’utilisation du système PowerFlex. 

Cause

Le problème se produit lorsque le cadre Jetty, en particulier la classe de base org.eclipse.jetty.util.ssl.SslContextFactory tente de traiter plusieurs certificats dans un magasin de clés, une opération qu’il n’est pas conçu pour gérer. En principe, la version du serveur de présentation concernée n’est pas équipée pour gérer les certificats qui contiennent plusieurs entrées d’extension SAN (Subject Alternative Name), ce qui entraîne un échec lorsqu’il rencontre de tels certificats. 

Resolution

    1. Utilisez un certificat qui ne contient qu’une seule entrée d’extension SAN (Subject Alternative Name). Cela s’aligne sur les limites actuelles du serveur de gestion et devrait permettre un fonctionnement normal.
    2. Mettez à niveau mgmt-server vers la version 3.6.1. Cette version inclut une meilleure prise en charge de plusieurs entrées d’extension SAN, ce qui réduit la nécessité d’ajuster vos certificats.

     

    Versions affectées

    PowerFlex 3.5.x

    PowerFlex 3.6.0.x

    Problème résolu dans la version

    PowerFlex 3.6.1

    Article Properties
    Article Number: 000215758
    Article Type: Solution
    Last Modified: 10 Dec 2025
    Version:  5
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.