Truy cập Node-RED
- Mở trình duyệt và truy cập:
https://<SERVER_IP> - Cảnh báo SSL trên trình duyệt là bình thường (chứng chỉ tự ký)
- Yêu cầu xác thực (cửa sổ Basic Auth)
- Phương thức xác thực: HTTP Basic Auth
- Thông tin đăng nhập được lưu trữ bảo mật tại:
/root/.cloudzy-creds
Các file và thư mục quan trọng
- Thư mục cài đặt chính là
/root/node-red. - Tệp orchestration của Docker nằm tại
/root/node-red/docker-compose.yml. - Dữ liệu Node-RED lâu dài được lưu trữ tại
/var/lib/docker/volumes/node-red_node-red-data/_data. - Tệp cấu hình Nginx nằm tại
/etc/nginx/sites-available/node-red. - Thông tin xác thực cơ bản được lưu tại
/etc/nginx/auth/node-red.htpasswd. - Chứng chỉ TLS được lưu tại
/etc/nginx/ssl.
Service Management
Kiểm tra trạng thái container:
docker ps
View logs:
docker compose -f /root/node-red/docker-compose.yml logs -f
Khởi động lại Node-RED:
docker compose -f /root/node-red/docker-compose.yml restart
Restart Nginx:
systemctl restart nginx
Tài khoản Admin Node-RED (Thay thế cho Basic Auth)
Node-RED có hệ thống xác thực nội bộ riêng, có thể thay thế HTTP Basic Auth.
1. Locate settings.js
Tệp cấu hình chính nằm bên trong volume Docker của Node-RED: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Open settings.js và bỏ ghi chú (hoặc thêm) phần adminAuth Nội dung sẽ trông giống như sau:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Tạo hash mật khẩu
Bạn có thể tạo hash từ bên trong container Node-RED:
docker exec -it node-red-node-red-1 node-red admin hash-pw
Bạn sẽ được nhắc nhập mật khẩu dạng văn bản thuần.
Sao chép hash vừa tạo và dán vào trường password value in settings.js.
4. Khởi động lại Node-RED
After editing settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Tắt xác thực cơ bản HTTP trong Nginx (Tùy chọn)
Chỉnh sửa file site Nginx: /etc/nginx/sites-available/node-red
Xóa hoặc comment out các dòng sau:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Reload Nginx:
systemctl restart nginx
Kích hoạt SSL với tên miền
1. Trỏ tên miền của bạn về địa chỉ IP của máy chủ.
2. Chỉnh sửa cấu hình Nginx và thay thế cả hai server_name <IP>; với tên miền của bạn (<your-domain>) cho cả HTTP (cổng 80) và HTTPS (cổng 443) như sau:
vim /etc/nginx/sites-available/node-red
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Chạy lệnh sau để tạo chứng chỉ Let's Encrypt hợp lệ:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Thay thế đường dẫn SSL trong cấu hình Nginx:
vim /etc/apache2/sites-available/node-red
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Khởi động lại Nginx để áp dụng các thay đổi:
systemctl restart nginx
7. Trình duyệt của bạn và truy cập: https://yourdomain.com