Nochmal ein kurzes Update...
Mein finales Setup sieht aktuell wie folgt aus:
EVCC läuft in einem LXC-Container auf Proxmox. Zusätzlich setze ich AdGuard als DNS-Server ein, um dort gezielt DNS-Rewrites zu definieren.
In der openWB-Konfiguration scheint es nicht möglich zu sein, eigene DNS-Server oder eine statische IP zu hinterlegen – zumindest habe ich im UI keine entsprechende Option gefunden. Die Wallbox bezieht die DNS-Einstellungen offenbar ausschließlich per DHCP.
Schritte 1
Ich habe nun folgende redirects auf den EVCC Server in ADGuard gesetzt, da Ich log auch requests an null.localdomain gesehen habe.
DNS Rewrites
null
null.
null.localdomain
Schritt 2
Auf dem LCX Container mit NGINX die redirects etc anlegen. Am besten für alle "null" Varianten und http wie https. Icher ist sicher
NGINX installieren
Code: Alles auswählen
sudo -i
apt update
apt install -y nginx
systemctl enable nginx
SSL Zertifikat für HTTPS erstellen
Code: Alles auswählen
sudo -i
mkdir -p /etc/nginx/ssl
chmod 700 /etc/nginx/ssl
Code: Alles auswählen
sudo -i
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/nginx/ssl/null.key \
-out /etc/nginx/ssl/null.crt \
-subj "/CN=null" \
-addext "subjectAltName=DNS:null,DNS:null.home,DNS:null.localdomain,IP:192.168.1.34"
chmod 600 /etc/nginx/ssl/null.key
NGINX Konfiguration erstellen (HTTP+HTTPS + openWB Display Pfade)
Code: Alles auswählen
sudo -i
tee /etc/nginx/sites-available/null-proxy >/dev/null <<'EOF'
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# ----------------------------
# HTTP :80
# ----------------------------
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# openWB Display-URL(s) -> immer auf EVCC Root umbiegen
location = /openWB/web/display { return 302 /; }
location = /openWB/web/display/ { return 302 /; }
location ^~ /openWB/web/display/ { return 302 /; }
location = /openWB/web/display/index.html { return 302 /; }
# alles andere an EVCC
location / {
proxy_pass http://127.0.0.1:7070;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
# ----------------------------
# HTTPS :443
# ----------------------------
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
ssl_certificate /etc/nginx/ssl/null.crt;
ssl_certificate_key /etc/nginx/ssl/null.key;
# openWB Display-URL(s) -> immer auf EVCC Root umbiegen
location = /openWB/web/display { return 302 /; }
location = /openWB/web/display/ { return 302 /; }
location ^~ /openWB/web/display/ { return 302 /; }
location = /openWB/web/display/index.html { return 302 /; }
# alles andere an EVCC
location / {
proxy_pass http://127.0.0.1:7070;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
EOF
Aktivieren der config
Code: Alles auswählen
sudo -i
ln -s /etc/nginx/sites-available/null-proxy /etc/nginx/sites-enabled/null-proxy
nginx -t && systemctl restart nginx
systemctl enable nginx
Ports prüfen
Tests
Code: Alles auswählen
curl -I http://192.168.1.34/ | head -n 12
curl -kI https://192.168.1.34/ | head -n 12
curl -I "http://192.168.1.34/openWB/web/display/?data=test" | head -n 20
curl -kI "https://192.168.1.34/openWB/web/display/?data=test" | head -n 20
Danach einmal die openWB neu starten. Im Log sollten nun die Requests zu finden sein...
Schlussendlich ist das eine wirklich schöne Lösung, um EVCC gemeinsam mit openWB zu nutzen. Was will man mehr als Open-Source-Hardware in Kombination mit dem Management-System seiner Wahl?
Die Support-Thematik kann ich nachvollziehen. Vorgeschobene „Performance-Gründe“ halte ich jedoch für nicht überzeugend, da sie aus meiner Sicht schlicht nicht der Realität entsprechen.
Gerade im Open-Source-Gedanken geht es doch darum, Dinge nicht künstlich zu verschließen, sondern Möglichkeiten offen zu halten und transparent zu diskutieren.
