A Node-RED elérése
- Nyisd meg a böngészőt, és lépj a következő címre:
https://<SERVER_IP> - Böngészős SSL figyelmeztetés várható (önaláírt tanúsítvány)
- Hitelesítés szükséges (Basic Auth felugró ablak)
- Hitelesítési módszer: HTTP Basic Auth
- A hitelesítő adatok biztonságosan tárolódnak:
/root/.cloudzy-creds
Fontos fájlok és könyvtárak
- A fő telepítési könyvtár:
/root/node-red. - A Docker orchestrációs fájl:
/root/node-red/docker-compose.yml. - A Node-RED állandó adatai itt vannak tárolva:
/var/lib/docker/volumes/node-red_node-red-data/_data. - Az Nginx konfigurációs fájl helye:
/etc/nginx/sites-available/node-red. - Az alap hitelesítési adatok itt vannak tárolva:
/etc/nginx/auth/node-red.htpasswd. - A TLS tanúsítványok tárolási helye:
/etc/nginx/ssl.
Service Management
Konténer állapotának ellenőrzése:
docker ps
View logs:
docker compose -f /root/node-red/docker-compose.yml logs -f
A Node-RED újraindítása:
docker compose -f /root/node-red/docker-compose.yml restart
Restart Nginx:
systemctl restart nginx
Node-RED adminisztrátori felhasználó (az alap hitelesítés alternatívája)
A Node-RED saját belső hitelesítési rendszerrel rendelkezik, amely kiválthatja az HTTP alap hitelesítést.
1. Locate settings.js
A fő konfigurációs fájl a Node-RED Docker kötetén belül található: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Open settings.js és vedd ki a megjegyzésből (vagy add hozzá) a adminAuth részt. Valahogy így kell kinéznie:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Jelszókivonat generálása
A kivonatot a Node-RED konténerből lehet generálni:
docker exec -it node-red-node-red-1 node-red admin hash-pw
A rendszer kérni fogja, hogy add meg az egyszerű szöveges jelszavadat.
Másold ki a kapott kivonatot, és illeszd be mint a password value in settings.js.
4. Az Node-RED újraindítása
After editing settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Az HTTP alapszintű hitelesítés letiltása Nginx-ben (opcionális)
Szerkeszd az Nginx site fájlját: /etc/nginx/sites-available/node-red
Távolítsd el vagy kommenteld ki ezeket a sorokat:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Reload Nginx:
systemctl restart nginx
SSL engedélyezése domainnel
1. Irányítsd a domainedet a szerver IP-címére.
2. Szerkeszd az Nginx konfigurációt, és cseréld le mindkét server_name <IP>; with your domain (<your-domain>) a HTTP (80-as port) és az HTTPS (443-as port) blokkokhoz:
vim /etc/nginx/sites-available/node-red
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Futtasd le a következő parancsot egy érvényes Let's Encrypt tanúsítvány generálásához:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Cserélje ki az SSL elérési utakat az Nginx konfigurációban:
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. Az Nginx újraindítása a módosítások alkalmazásához:
systemctl restart nginx
7. Nyisd meg a böngészőt, és látogasd meg: https://yourdomain.com