Node-RED'e erişim
- Tarayıcını aç ve şu adresi ziyaret et:
https://<SERVER_IP> - Tarayıcı SSL uyarısı bekleniyor (kendinden imzalı sertifika)
- Kimlik doğrulama gerekli (Temel Kimlik Doğrulama açılır penceresi)
- Kimlik doğrulama yöntemi: HTTP Temel Kimlik Doğrulaması
- Kimlik bilgileri şu konumlarda güvenli bir şekilde depolanır:
/root/.cloudzy-creds
Önemli Dosyalar ve Dizinler
- Ana kurulum dizini
/root/node-red. - Docker orkestrasyon dosyası
/root/node-red/docker-compose.yml. - Kalıcı Node-KIRMIZI verileri şurada saklanır:
/var/lib/docker/volumes/node-red_node-red-data/_data. - Nginx yapılandırma dosyası şurada bulunur:
/etc/nginx/sites-available/node-red. - Temel kimlik doğrulama bilgileri şurada saklanır:
/etc/nginx/auth/node-red.htpasswd. - TLS sertifikaları şurada saklanır:
/etc/nginx/ssl.
Servis Yönetimi
Konteyner durumunu kontrol edin:
docker ps
Logları göster:
docker compose -f /root/node-red/docker-compose.yml logs -f
Node-RED'i yeniden başlatın:
docker compose -f /root/node-red/docker-compose.yml restart
Nginx'i yeniden başlatın:
systemctl restart nginx
Node-RED Yönetici Kullanıcısı (Temel Kimlik Doğrulamasına Alternatif)
Node-RED, HTTP Temel Kimlik Doğrulamanın yerini alabilecek kendi dahili kimlik doğrulama sistemine sahiptir.
1. Bulun settings.js
Ana yapılandırma dosyası Node-RED Docker biriminin içindedir: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Etkinleştir adminAuth
Açık settings.js ve yorumu kaldırın (veya ekleyin) adminAuth bölüm. Bunun gibi bir şeye benzemeli:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Bir şifre karması oluşturun
Karmayı Node-RED konteynerinin içinden oluşturabilirsiniz:
docker exec -it node-red-node-red-1 node-red admin hash-pw
Düz şifrenizi girmeniz istenecektir.
Ortaya çıkan karma değeri kopyalayın ve yapıştırın. password değer settings.js.
4. Node-RED'i yeniden başlatın
Düzenlemeden sonra settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Nginx'te HTTP Temel Kimlik Doğrulamasını devre dışı bırakın (İsteğe bağlı)
Nginx site dosyasını düzenleyin: /etc/nginx/sites-available/node-red
Bu satırları kaldırın veya yorumlayın:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Nginx'i yeniden yükleyin:
systemctl restart nginx
Bir Alan Adı ile SSL Etkinleştirme
1. Alan adını sunucu IP'sine yönlendir.
2. Nginx config'i düzenle ve her ikisini de değiştir server_name <IP>; alan adın ile (<your-domain>) hem HTTP (port 80) hem HTTPS (port 443) blokları için:
vim /etc/nginx/sites-available/node-red
3. Certbot'u kur:
apt install -y certbot python3-certbot-nginx
4. Geçerli bir Let's Encrypt sertifikası üretmek için şu komutu çalıştır:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Nginx config'inde SSL yollarını değiştir:
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. Değişiklikleri uygulamak için Nginx'i yeniden başlat:
systemctl restart nginx
7. Tarayıcını aç ve şu adresi ziyaret et: https://yourdomain.com