Как интегрировать удаленный рабочий стол 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, но будьте готовы к ограничениям безопасности.