Веб-інтерфейс сервера презентацій PowerFlex не завантажується

Summary: Веб-інтерфейс сервера презентацій не завантажується через наявність у сертифікаті кількох розширень альтернативного імені теми (SAN).

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

Версії, на які це вплине

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

Запуститься служба сервера презентацій, але веб-сторінка не завантажить початковий екран входу.
[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)


Сервер презентацій /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)


Запустіть таку команду, щоб перевірити, чи використовує сервер презентацій кілька записів SAN. Це може бути пов'язано із сертифікатом, який клієнт поновлює або замінює, який має кілька записів розширення SAN.

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

 

Cause

Сервер презентацій, також відомий як mgmt-сервер, не підтримує обробку декількох записів розширення Subject Alternative Name (SAN). Ця проблема може виникнути, коли сертифікати mgmt-сервера, що містять кілька записів розширення SAN, оновлюються або замінюються на відповідній версії.
 

Вплив
Неможливість завантажити веб-інтерфейс користувача для mgmt-сервера призводить до неможливості управління кластером PowerFlex через інтерфейс користувача (UI). Це ускладнює управління системою PowerFlex. 

 

Першопричина
Проблема виникає, коли фреймворк Jetty, базовий клас org.eclipse.jetty.util.ssl.SslContextFactory, намагається обробити кілька сертифікатів у сховищі ключів. Це операція, з якою вона не призначена для обробки.
Версія сервера презентацій, якої це стосується, не обладнана для керування сертифікатами, які містять кілька записів розширення альтернативного імені суб'єкта (SAN).
Це призводить до збою, коли він стикається з такими сертифікатами. 

Resolution

    Цю поведінку виправлено в PowerFlex 3.6.1 і пізніших версіях.


    Спосіб вирішення

    1. Використовуйте сертифікат, який містить один запис розширення Subject Alternative Name (SAN). Це узгоджується з поточними обмеженнями mgmt-сервера. Вона повинна забезпечувати нормальну роботу.
    2. Оновіть mgmt-сервер до версії 3.6.1. Ця версія включає покращену підтримку декількох записів розширення SAN, і немає необхідності коригувати сертифікати.
    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.