Как интегрировать удаленный рабочий стол iLO4 на свой сайт

    Администраторы серверов HP ProLiant часто сталкиваются с задачей: через веб-интерфейс iLO4 можно включать и выключать питание, но для полноценного управления требуется доступ к удаленному рабочему столу (KVM-консоли). Вывод этого интерфейса на собственный сайт - сложная, но решаемая задача. Рассмотрим основные методы интеграции iLO4 Remote Console в сторонний веб-портал.

    Проблема встраивания iLO4 KVM-консоли

    В iLO4 Remote Console работает через Java-апплет или ActiveX (для Internet Explorer). Это legacy-технологии, которые не поддерживаются современными браузерами. Интерфейс открывается в отдельном окне, а не как часть страницы iLO. Прямое встраивание через <iframe> невозможно из-за ограничений CORS и отсутствия публичного API.

    Способ 1: Встраивание через iframe с прокси-сервером

    Создайте прокси-скрипт на сервере (PHP, Node.js), который перенаправляет запросы к iLO4. Ваш сайт будет обращаться к прокси, а тот - к iLO. Затем вставьте iframe с адресом прокси, ведущим на страницу Remote Console. Пример кода на PHP:

    <?php
    $url = 'https://ILO_IP/HTML/management/remcons.asp';
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $response = curl_exec($ch);
    curl_close($ch);
    echo $response;
    ?>

    Недостаток: Java-апплет всё равно запросит отдельное окно, и прокси не всегда корректно передает сессионные cookie.

    Способ 2: Использование iLO Federation и REST API

    iLO4 поддерживает RESTful API (начиная с прошивки 2.0). Через API можно получить ссылку на Remote Console. Пример запроса:

    • GET /rest/v1/Managers/1/RemoteConsoleService - возвращает параметры подключения.
    • POST /rest/v1/Managers/1/RemoteConsoleService/Actions/Launch - запускает консоль.

    Ссылка, полученная из API, ведёт на отдельную страницу iLO, которую можно встроить в iframe только если отключить проверку Origin (не рекомендуется для безопасности).

    Способ 3: Туннелирование через VPN и локальный HTML

    Самый надёжный метод - настроить VPN-туннель (например, WireGuard) между вашим сервером и сетью iLO. Затем на сайте разместите ссылку на внутренний IP iLO (например, https://192.168.1.100). Пользователь кликает по ссылке и открывает консоль в новой вкладке. Недостаток: требуется VPN-клиент у каждого пользователя.

    Способ 4: Переход на iLO5 или iLO6

    В более новых версиях iLO (5 и 6) Remote Console работает через HTML5, что позволяет легко встроить её в iframe. Если обновление оборудования возможно, это решит проблему полностью. Для iLO4 можно попробовать виртуализацию через iLO Amplifier Pack, но это сложно и дорого.

    Практические рекомендации

    Для минимальной интеграции без Java:

    • Используйте HP iLO Mobile App - она эмулирует Remote Console через API.
    • Напишите скрипт на Python (библиотека python-ilorest-library), который выводит скриншот экрана сервера через API iLO.
    • Настройте SSH-туннель с перенаправлением портов (например, порт 5900 для VNC).

    Заключение

    Прямая интеграция удаленного рабочего стола iLO4 на сайт затруднена из-за устаревшей технологии Java. Самый простой вариант - дать пользователям ссылку на интерфейс iLO (через VPN) или обновиться до iLO5. Для автоматизации используйте REST API, но будьте готовы к ограничениям безопасности.

    Часто задаваемые вопросы