Node-Web-Console (далее NWC) — это веб-приложение-оболочка, разработанное на основе Node.js. Его идея исходит от группового обсуждения проектов, связанных с SDN, в лаборатории. оболочки на веб-странице, а затем осознайте, что топология сети, отображаемая на странице внешнего интерфейса, напрямую входит в узел виртуальной машины для простого управления. Для конкретной реализации см.web-console, проект на основе лучших языков мира.
Вот скриншот интерфейса:
С точки зрения опыта NWC мало чем отличается от реальной оболочки. конечно, спасибоjquery.terminalусилия плагина. И с уровня принципа реализации, NWC (и веб-консоль) не сложны, а базовая коммуникация реализована на основе спецификации JSON-RPC 2.0 поверх протокола HTTP. JSON-RPC — это облегченный протокол удаленного вызова процедур (RPC) без сохранения состояния.JSON-RPC 2.0 Specificationиликитайская версия перевода. После получения команды, введенной пользователем, внутренний сервер NWC запускает дочерний процесс и выполняет его, а затем возвращает результат.
Помимо этого, NWC имеет следующие особенности:
- Простота настройки. NWC разработан на основе Node.js, установка зависимостей -> запуск сервера -> готово! очень удобно
- Мобильный дружественный. После развертывания NWC он поддерживает мобильные устройства для доступа к странице и работы (конечно, вам нужно пожертвовать такими функциями, как автозаполнение), и вы действительно можете получить доступ к своему собственному серверу в любое время и в любом месте.
- Легко расширяется. Проект основан на Koa и использует как можно меньше промежуточного программного обеспечения. Вы можете легко расширить или интегрировать его в свои собственные проекты
- Высокий коэффициент безопасности. NWC требует от пользователей авторизации перед использованием, а его страницы отмечены, что не позволяет поисковым системам индексировать. Вы также можете настроить свой сервер с HTTPS для дальнейшего повышения безопасности.
Конечно, у NWC все еще есть некоторые проблемы, такие как невозможность выполнения таких команд, как vi и ping, которые должны ждать ввода пользователя или выполнять некоторые операции бесконечно. Это связано с тем, что RPC текущей версии базовой связи NWC основан на HTTP, и его характеристики определяют, что сервер может только пассивно отвечать на запрос клиента и не может активно передавать результаты несколько раз. В следующей итерации мы попробуем заменить HTTP на websocket, чтобы решить эту проблему.
Наконец, адрес проекта здесь:GitHub.com/Крис Синди/…Просто нажмите на меня). Добро пожаловать на звезду, добро пожаловать в Пайчжуань.
Эта статья была впервые опубликована в моем блоге (Нажмите здесь, чтобы просмотреть), добро пожаловать, чтобы следовать.