OctoPi über das Internet betreiben

OctoPi bzw. OctoPrint ist eine wirklich tolle Ergänzung im 3D-Druck! Fast jeder, der einen OctoPrint  Server im lokalen Netz betreibt, wird auf kurz oder lang den Wunsch haben, diesen auch aus dem Internet erreichbar zu machen.

Wer also einfach die entsprechenden Ports von seinem Router bzw. Firewall zum Printserver durchreicht, wird feststellen, das es derzeit mit OctoPi nicht möglich ist, das Webinterface vor neugierigen blicken zu schützen. Konkret kann also jeder aus dem Internet zumindest das Webinterface lesend erreichen und hat somit Zugriff auf Kameras und natürlich auch auf aktuelle Druckeinstellungen und Leistungsdaten.

OctoPi ohne Anmeldung

OctoPi ohne Anmeldung

 

Die derzeit beste Lösung ist es demnach, mit einem Reverse Proxy zu arbeiten. OctoPi selbst bringt bereits HAProxy mit, dieser steht somit aktiv zwischen Internet und dem Octoprint Backend.

HAProxy ist eine kostenlose Open-Source-Software, die einen Load-Balancer und Proxy-Server mit hoher Verfügbarkeit für TCP- und HTTP-basierte Anwendungen bereitstellt.

 

Das Config File /etc/haproxy/haproxy.cfg kann einfach mit vi auf dem PI geöffnet werden:

 

Anschließend muss der Bereich „backend octoprint“ um die beiden letzten Zeilen ergänzt werden:

 

Ebenso wird ein neuer Abschnitt „userlist UL1“ eingefügt:

Wichtig hierbei: USERNAME und PASSWORD sollten geändert werden 😉

 

Ergebnis: Beim Aufruf der OctoPi URL wird jetzt nach einem Benutzernamen und Password gefragt.

Authentifizierung durch HAProxy

Authentifizierung durch HAProxy

 

 

Über den Autor

Mein Name ist Stefan Eggert, ich bin lange als Freiberufler tätig gewesen und berate seit über 10 Jahren im Bereich IT-Sicherheit. Spezialisiert habe ich mich auf DDoS, Schwachstellenmanagement und Kennwortsicherheit.