PowerFlex 3.X: De webinterface van de presentatieserver kan niet worden geladen
Summary: De webinterface van de presentatieserver kan niet worden geladen vanwege meerdere SAN-extensies (Subject Alternative Name) in het certificaat.
Symptoms
De presentatieserverservice wordt gestart, maar de webpagina kan het oorspronkelijke aanmeldingsscherm niet laden.
[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)
Het logboek van de presentatieserver bevat de volgende fouten:
/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)
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 en dat meerdere SAN-extensievermeldingen bevat.
[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
Als de webinterface voor de mgmt-server niet wordt geladen, kan het PowerFlex-cluster niet worden beheerd via de gebruikersinterface (UI). Dit gaat ten koste van het beheer- en bedieningsgemak van het PowerFlex-systeem.
Cause
Het probleem doet zich voor wanneer het Jetty-framework, met name de basisklasse org.eclipse.jetty.util.ssl.SslContextFactory pogingen om meerdere certificaten in een KeyStore te verwerken, een bewerking waarvoor het niet is ontworpen. In wezen is de getroffen versie van de presentatieserver niet uitgerust om certificaten te beheren die meer dan één SAN-extensie-item (Subject Alternative Name) bevatten, wat leidt tot een fout wanneer dergelijke certificaten worden aangetroffen.
Resolution
- Gebruik een certificaat dat slechts één SAN-extensie-item (Subject Alternative Name) bevat. Dit komt overeen met de huidige beperkingen van de mgmt-server en zou een normale werking mogelijk moeten maken.
- Upgrade de mgmt-server naar versie 3.6.1. Deze versie bevat verbeterde ondersteuning voor meerdere SAN-extensievermeldingen, waardoor u uw certificaten niet meer hoeft aan te passen.
Versies waarop dit van toepassing is
PowerFlex 3.5.x
PowerFlex 3.6.0.x
Opgelost in versie
PowerFlex 3.6.1