Не загружается веб-интерфейс сервера презентаций 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-server, не поддерживает обработку нескольких записей с альтернативным именем субъекта (SAN). Эта проблема может возникнуть, если сертификаты сервера mgmt-server с несколькими записями расширения SAN обновляются или заменяются в затронутой версии.
 

Влияние
Невыгрузка веб-интерфейса для сервера управления приводит к невозможности управления кластером PowerFlex с помощью пользовательского интерфейса. Это усложняет управление системой PowerFlex. 

 

Причину
Проблема возникает, когда платформа Jetty, base class org.org.jetty.util.ssl.SslContextFactory пытается обустроить несколько сертификатов в Хранилище ключей. Эта операция не предназначена для выполнения.
Затронутая версия сервера презентаций не оснащена для управления сертификатами, которые содержат более одной записи с альтернативным именем субъекта (SAN).
Это приводит к сбою при обнаружении таких сертификатов. 

Resolution

    Это исправлено в PowerFlex 3.6.1 и более поздних версиях.


    Временное решение

    1. Используйте сертификат, содержащий одну запись расширения «Альтернативное имя субъекта» (SAN). Это согласуется с текущими ограничениями сервера управления. Он должен разрешать нормальную работу.
    2. Обновите mgmt-server до версии 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.