De webinterface van de PowerFlex Presentatieserver kan niet worden geladen

Summary: De webinterface van de presentatieserver kan niet worden geladen vanwege meerdere SAN-extensies (Subject Alternative Name) die in het certificaat aanwezig zijn.

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

Versies waarop dit van toepassing is

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

De presentatieserverservice wordt gestart, maar de webpagina laadt het eerste aanmeldingsscherm niet.
[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)


De presentatieserver /opt/emc/scaleio/mgmt-server/logs/scaleio.log toont de volgende fouten:

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)


Voer de volgende opdracht uit om te controleren of de presentatieserver meerdere SAN-vermeldingen gebruikt. Dit kan worden uitgevoerd op het certificaat dat de klant vernieuwt of vervangt met meerdere SAN-extensievermeldingen.

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

 

Cause

De presentatieserver, ook wel bekend als de mgmt-server, heeft geen ondersteuning voor het verwerken van meerdere Subject Alternative Name (SAN)-extensievermeldingen. Dit probleem kan zich voordoen wanneer de certificaten van de beheerserver, met verschillende SAN-extensievermeldingen, worden vernieuwd of vervangen op de betreffende versie.
 

Impact
Als de webinterface niet wordt geladen voor de beheerserver, kan het PowerFlex cluster niet worden beheerd via de gebruikersinterface (UI). Dit maakt het moeilijk om het PowerFlex-systeem te beheren. 

 

Oorzaak
Het probleem doet zich voor wanneer het Jetty-framework, de base class org.eclipse.jetty.util.ssl.SslContextFactory probeert meerdere certificaten te verwerken in een KeyStore. Dit is een bewerking die niet is ontworpen om te verwerken.
De betreffende presentatieserverversie is niet uitgerust voor het beheren van certificaten die meer dan één subject alternative name (SAN)-extensie bevatten.
Dit leidt tot een fout wanneer dergelijke certificaten worden aangetroffen. 

Resolution

    Dit probleem is opgelost in PowerFlex 3.6.1 en hoger.


    Tijdelijke oplossing

    1. Gebruik een certificaat dat één extensie voor subject alternative name (SAN) bevat. Dit komt overeen met de huidige beperkingen van de beheerserver. Het zou normale werking moeten toestaan.
    2. Upgrade de mgmt-server naar versie 3.6.1. Deze versie bevat verbeterde ondersteuning voor meerdere SAN-extensievermeldingen en het is niet nodig om de certificaten aan te passen.
    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.