PowerFlex 3.X: Веб-інтерфейс Presentation Server не завантажується

摘要: Веб-інтерфейс Presentation Server не завантажується через наявність кількох розширень Subject Alternative Name (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.

 

 

Вплив

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

原因

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

解决方案

    1. Використовуйте сертифікат, який містить лише один запис розширення Subject Alternative Name (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
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。