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.

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

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

Serwer prezentacji, znany również jako serwer zarządzania, nie ma obsługi wielu wpisów rozszerzeń subject alternative name (SAN). Ten problem może wystąpić, gdy certyfikaty serwera mgmt z kilkoma rozszerzeniami sieci SAN zostaną odnowione lub zastąpione w wersji, której dotyczy problem.
 

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

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