Node-RED – популярный инструмент потокового программирования, используемый для приложений IoT (Интернета вещей) и задач автоматизации. При развертывании Node-RED в производственной среде важно обеспечить безопасность связи с помощью шифрования SSL/TLS. Let’s Encrypt — это бесплатный открытый центр сертификации, предоставляющий SSL-сертификаты. В этой статье мы рассмотрим различные методы включения SSL в Node-RED с помощью Let’s Encrypt, а также приведем примеры кода.
Метод 1: использование встроенной конфигурации SSL Node-RED
Node-RED имеет встроенную поддержку SSL/TLS. Чтобы включить SSL с помощью Let’s Encrypt, выполните следующие действия:
Шаг 1. Установите Certbot
Certbot — это инструмент командной строки, используемый для получения SSL-сертификатов Let’s Encrypt и управления ими. Установите Certbot, используя соответствующий менеджер пакетов для вашей операционной системы.
Шаг 2. Создайте сертификат SSL
Выполните следующую команду, чтобы сгенерировать сертификат SSL:
sudo certbot certonly --standalone -d your-domain.com
Шаг 3. Настройте Node-RED
В файле настроек Node-RED (обычно settings.js) обновите раздел https, указав на сгенерированный SSL-сертификат. и закрытый ключ.
Шаг 4. Перезапустите Node-RED
Перезапустите Node-RED, чтобы применить конфигурацию SSL.
Метод 2: использование Nginx в качестве обратного прокси
Другой подход — использовать Nginx в качестве обратного прокси-сервера для обработки завершения SSL. Этот метод обеспечивает дополнительную гибкость и позволяет использовать расширенные параметры конфигурации SSL.
Шаг 1. Установите Nginx
Установите Nginx с помощью любого менеджера пакетов.
Шаг 2. Настройка Nginx
Создайте файл конфигурации блока сервера Nginx для вашего экземпляра Node-RED. Настройте параметры SSL и прокси-запросы к Node-RED.
Шаг 3. Получите сертификат Let’s Encrypt
Используйте Certbot для получения SSL-сертификата для вашего домена.
Шаг 4. Настройте SSL-сертификат в Nginx
Обновите файл конфигурации блока сервера Nginx, указав путь к сертификату Let’s Encrypt SSL и закрытому ключу.
Шаг 5. Перезапустите Nginx и Node-RED
Перезапустите Nginx и Node-RED, чтобы изменения вступили в силу.
Метод 3. Использование Node-RED Docker с Nginx Proxy Companion
Если вы используете Node-RED в контейнере Docker, вы можете использовать контейнер Nginx Proxy Companion для обработки завершения SSL.
Шаг 1. Настройте Docker Compose
Создайте файл Docker Compose, чтобы определить контейнеры Node-RED и Nginx Proxy Companion.
Шаг 2. Настройка контейнера Node-RED
Настройте контейнер Node-RED для предоставления необходимых портов и томов.
Шаг 3. Настройка контейнера Nginx Proxy Companion
Настройте контейнер Nginx Proxy Companion для управления SSL-сертификатами и запросами прокси.
Шаг 4. Запустите контейнеры
Запустите файл Docker Compose, чтобы запустить контейнеры Node-RED и Nginx Proxy Companion.
Защита вашего экземпляра Node-RED с помощью SSL-сертификатов Let’s Encrypt имеет решающее значение для защиты конфиденциальных данных и обеспечения безопасной связи. В этой статье мы рассмотрели три различных метода включения SSL в Node-RED, включая встроенную конфигурацию SSL, использование Nginx в качестве обратного прокси-сервера и использование Docker с Nginx Proxy Companion. Выберите метод, который лучше всего соответствует вашей среде и требованиям развертывания, и воспользуйтесь преимуществами безопасной связи в ваших приложениях Node-RED.