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.
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
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
- 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.
- 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.