Impossibile caricare l'interfaccia utente web del server di presentazione PowerFlex

Summary: L'interfaccia utente web di Presentation Server non si carica a causa di più estensioni SAN (Subject Alternative Name) presenti nel certificato.

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

Versioni interessate

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

Viene avviato il servizio del server delle presentazioni, ma la pagina web non carica la schermata di accesso iniziale.
[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)


Il server di presentazione /opt/emc/scaleio/mgmt-server/logs/scaleio.log mostra i seguenti errori:

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)


Eseguire il comando seguente per verificare se il server delle presentazioni utilizza più voci SAN. Questa operazione può essere eseguita a fronte del certificato che il cliente sta rinnovando o sostituendo con più voci di estensione SAN.

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

 

Cause

Il server di presentazione, noto anche come mgmt-server, non supporta la gestione di più voci di estensione SAN (Subject Alternative Name). Questo problema può verificarsi quando i certificati del server di gestione, con diverse voci di estensione SAN, vengono rinnovati o sostituiti nella versione interessata.
 

Impatto
Il mancato caricamento dell'interfaccia utente web per il server di gestione comporta l'impossibilità di gestire il cluster PowerFlex tramite l'interfaccia utente. Ciò rende difficile la gestione del sistema PowerFlex. 

 

Root cause
Il problema si verifica quando il framework Jetty, la classe base org.eclipse.jetty.util.ssl.SslContextContext tenta di elaborare più certificati in un KeyStore. Si tratta di un'operazione che non è progettata per essere gestita.
La versione del server delle presentazioni interessata non è in grado di gestire i certificati che contengono più di una voce di estensione Subject Alternative Name (SAN).
In questo modo si verifica un errore quando rileva tali certificati. 

Resolution

    Questo comportamento è stato risolto in PowerFlex 3.6.1 e versioni successive.


    Soluzione alternativa

    1. Utilizzare un certificato che contiene una singola voce di estensione Subject Alternative Name (SAN). In questo modo si allinea alle limitazioni correnti del server di gestione. Dovrebbe consentire il normale funzionamento.
    2. Aggiornare il server di gestione alla versione 3.6.1. Questa versione include il supporto migliorato per più voci di estensione SAN e non è necessario regolare i certificati.
    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.