PowerFlex 3.X. Не загружается веб-интерфейс сервера презентаций

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

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Служба сервера презентаций запускается, но веб-странице не удается загрузить начальный экран входа в систему.

[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 <location_of_new_signed_cert> | grep -A1 -i 'Subject Alternative Name'
            X509v3 Subject Alternative Name:
                DNS:host1, DNS:host1.

 

 

Воздействие

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

原因

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

解决方案

    1. Используйте сертификат, содержащий только одну запись расширения альтернативного имени субъекта (SAN). Это соответствует текущим ограничениям mgmt-сервера и должно обеспечивать нормальную работу.
    2. Обновите mgmt-сервер до версии 3.6.1. Эта версия включает улучшенную поддержку нескольких записей расширений SAN, что устраняет необходимость корректировки сертификатов.

     

    Затронутые версии

    PowerFlex 3.5.x

    PowerFlex 3.6.0.x

    Исправлено в версии

    PowerFlex 3.6.1

    文章属性
    文章编号: 000215758
    文章类型: Solution
    上次修改时间: 10 12月 2025
    版本:  5
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。