lokale homee API aus dem Internet erreichbar machen

Nachdem bei CA scheinbar keiner in der Lage ist einen Server zu migrieren habe ich mir überlegt, die lokale API vom homee (http://homeeip.local:7681/api/v2) für mich aus dem WAN / Internet erreichbar zu machen. Regelmäßig stand ich vor meiner Haustür und homee wollte einfach nicht den Webhook für einen Moduswechsel annehmen.

Ich verwende hierfür einen HAProxy und die kostenfreien Services von Cloudflare (https://www.cloudflare.com/de-de/plans/).

Auf einem Server läuft ein HAProxy (https://www.haproxy.org/). Dieser ist im WAN erreichbar und lauscht auf Port 443.

Die relevante Konfiguration für den Reverse Proxy beinhaltet lediglich einige Zeilen:

# Bind to port 443 on all interfaces (0.0.0.0)
bind *:443 ssl crt /path/to/cert/cert.pem ca-file /path/to/cert/cloudflare.pem verify required
# We're proxying HTTP here...
mode http
# Simple HTTP round robin over servers using the specified
# source ip = haserver ip
#roundrobin bei einem Server? Ich habe es einfach so gelassen.
balance roundrobin
server homee homee.local:7681 source 192.168.x.x#

Der Eintrag “ca-file /path/to/cert/cloudflare.pem verify required” sorgt dafür, dass der HAProxy eine Client Authentification verwendet und hierdurch nur über Cloudflare auf den HAProxy zugegriffen werden kann. Das Zertifikat kann bei Cloudflare heruntergeladen werden.

Cloudflare verwende ich um einfach Zugriffe filtern zu können und um einen gewissen Zusatzschutz vor DDoS zu erreichen (und natürlich einfach um damit mal was gemacht zu haben :wink: ). Wenn alles eingrichtet ist und eine eigene Domain verwendet wird, dann kann die lokale API nun auch aus dem WAN erreicht werden.
z.B.: https://eigenedomain.de/api/v2/webhook_trigger?webhooks_key=xxx

Es wird übrigens auch die lokale Webapp ins WAN veröffentlicht, leider kann man sich dort nicht mit der lokalen homee IP anmelden, das wäre aber auch zu schön gewesen :wink: . Diese ist ein typischer Fall für den Filter von Cloudflare, damit auf diese nicht zugegriffen werden kann sondern eben nur auf /api/v2/.

Sicher ist dies keine Schritt für Schritt Anleitung und es gibt locker 10 andere Lösungen, aber vielleicht gibt es dem einen oder anderen ja einen Denkanstoß. Ich kann nun jedenfalls ohne CA Proxy und ohne VPN Webhooks schnell und einfach von unterwegs aufrufen um z.B. den Modus zu ändern wenn ich kurz vor der Haustür bin. Hierfür kann ich iOS Usern die App ssswitch (Projektvorschlag: Webhooks über separate App auslösen - für Familie etc.) von @ChristianK empfehlen.

8 „Gefällt mir“