Échec du chargement de l’interface utilisateur Web du serveur de présentation PowerFlex

摘要: L’interface utilisateur Web du serveur de présentation ne parvient pas à se charger en raison de plusieurs extensions SAN (Subject Alternative Name) présentes dans le certificat.

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

症状

Versions affectées

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

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 serveur de présentation /opt/emc/scaleio/mgmt-server/logs/scaleio.log affiche les erreurs suivantes:

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. Il peut être exécuté 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  | grep -A1 -i 'Subject Alternative Name'
            X509v3 Subject Alternative Name:
                DNS:host1, DNS:host1.cn

 

原因

Le serveur de présentation, également appelé serveur de gestion, ne prend pas en charge la gestion de plusieurs entrées d’extension SAN (Subject Alternative Name). Ce problème peut se produire lorsque les certificats du serveur de gestion, comportant plusieurs entrées d’extension SAN, sont renouvelés ou remplacés sur la version concernée.
 

Impact
L’échec du chargement de l’interface utilisateur Web pour le serveur de gestion entraîne une incapacité à gérer le cluster PowerFlex via l’interface utilisateur (UI). Il est donc difficile de gérer le système PowerFlex. 

 

Cause
Le problème se produit lorsque jetty framework, la classe de base org.eclipse.jetty.util.ssl.SslContextFactory tente de traiter plusieurs certificats dans un Magasin de clés. Il s’agit d’une opération qu’il n’est pas conçu pour gérer.
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).
Cela entraîne une défaillance lorsqu’il rencontre de tels certificats. 

解决方案

    Ce comportement est corrigé dans PowerFlex 3.6.1 et versions ultérieures.


    Solution

    1. Utilisez un certificat contenant une entrée d’extension SAN (Subject Alternative Name). Cela correspond aux limites actuelles du serveur de gestion. Il doit permettre un fonctionnement normal.
    2. Mettez à niveau le serveur de gestion vers la version 3.6.1. Cette version inclut une meilleure prise en charge de plusieurs entrées d’extension SAN et il n’est pas nécessaire d’ajuster les certificats.
    文章属性
    文章编号: 000215758
    文章类型: Solution
    上次修改时间: 10 12月 2025
    版本:  5
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。