Nie można załadować interfejsu internetowego serwera prezentacji PowerFlex
Summary: Interfejs sieciowy serwera prezentacji nie ładuje się z powodu wielu rozszerzeń nazwy alternatywnej podmiotu (SAN) obecnych w certyfikacie.
Symptoms
Wersje, których dotyczy problem
- PowerFlex 3.5.x
- PowerFlex 3.6.0.x
Zostanie uruchomiona usługa serwera prezentacji, ale strona internetowa nie ładuje ekranu początkowego logowania.
[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)
Serwer prezentacji /opt/emc/scaleio/mgmt-server/logs/scaleio.log wyświetla następujące błędy:
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)
Uruchom następujące polecenie, aby sprawdzić, czy serwer prezentacji używa wielu wpisów sieci SAN. Można to uruchomić na podstawie certyfikatu odnawiającego lub wymieniającego klienta z wieloma wpisami rozszerzeń sieci SAN.
[root@host1 /]# openssl x509 -noout -text -in | grep -A1 -i 'Subject Alternative Name'
X509v3 Subject Alternative Name:
DNS:host1, DNS:host1.cn
Cause
Wpływ
Niewyładowanie interfejsu sieciowego serwera mgmt powoduje brak możliwości zarządzania klastrem PowerFlex za pośrednictwem interfejsu użytkownika. Utrudnia to zarządzanie systemem PowerFlex.
Przyczynę
Problem pojawia się, gdy framework Bcy, base class org.escy.util.ssl.SslContextFactory próbuje przetwórz wiele certyfikatów w KeyStore. Jest to operacja, która nie jest przeznaczona do obsługi.
Wersja serwera prezentacji, której dotyczy problem, nie jest przygotowana do zarządzania certyfikatami zawierającymi więcej niż jeden wpis rozszerzenia Subject Alternative Name (SAN).
Prowadzi to do błędu w przypadku napotkania takich certyfikatów.
Resolution
To zachowanie zostało naprawione w systemie PowerFlex 3.6.1 i nowszych.
Obejście problemu
- Użyj certyfikatu, który zawiera jeden wpis rozszerzenia nazwy alternatywnej podmiotu (SAN). Jest to zgodne z obecnymi ograniczeniami serwera zarządzania. Powinno to umożliwić normalne działanie.
- Uaktualnij serwer zarządzania do wersji 3.6.1. Ta wersja obejmuje ulepszoną obsługę wielu pozycji rozszerzeń sieci SAN i nie jest konieczne dostosowywanie certyfikatów.