Hallo Zusammen,
Ich nutze den ESP8266 als Webserver. Der ESP hostet eine Website die
unteranderem "Bildchen" beinhaltet, wesshalb ich den Application Cache
des Browser verwende.
Seit ein paar Monaten erlauben alle gängigen Browser die Verwendung des
Apllication Caches nicht mehr wenn die Verbindung zum Server (in dem
Fall zum ESP 8266) nicht über https stattfindet. Desshalb, und auch
generell, ist es denke ich sinnvoll via https zu kommunizieren.
Ich habe ein Beispiel gefunden, bei dem der ESP vermutlich als HTTPS
WebServer verwendet wird.
https://github.com/thorsten-l/ESP8266-HTTPS-SampleServer
Allerdings läuft dieser Sketch bei mir nicht. Hat jemand von euch schon
mal einen HTTPS Server mit einem ESP realisiert, oder kennt jemand das
verlinkt Beispiel und kann mir weiter helfen?
Danke schon mal und
Grüße Theo
ganz ehrlich ? das ding ist ein mikrocontroller....kein high performance
wunder...https kannsr du dir da sparen da du moderne ciphers wie ecdsa
etc performancebedingt nicht inplementiert bekommst.
für soetwas ist ein raspberry zero w die wesentlich bessere wahl!
Zwar gibt es eine TLS implementierung, aber die lässt alle Zertifikate
ungeprüft durch und ist daher unsicher. Außerdem sind Performance und
RAM des ESP8266 zu klein, dass man damit etwas vernünftiges anfangen
kann.
OK. Habt ihr dann andere Vorschläge, wie ich den Application Cache
wieder nutzen kann? Wie gesagt, alle Browser setzen, eine Verbindung
über https voraus.
Grüße
Ohne das Gesamtsystem zu kennen ist es schwer Vorschläge zu machen.
Einer wäre einen globalen https Server als Proxy zu verwenden. Der kann
dann alle statischen Sachen direkt ausliefern und die dynamischen holt
er vom entsprechenden ESP per http. Mehrere ESPs werden dann über die
URL unterschieden. Das hat auch den Vorteil, dass man sich grafisch
ausferkeln kann ohne die Resourcen des kleinen Controllers zu sprengen.
Bei Änderungen an den Teil ist dann auch kein Neuflashen des ESP nötig.
Außerdem kann man alle Möglichkeiten eines 'richtigen' http(s)-Servers
nutzen und somit die ESPs vor Angriffen aus dem Netz schützen. Aber wie
gesagt, wir wissen nicht mal ob das überhaupt am Internet hängt.
Für meine Heimautomation habe ich einen Apache im Internet laufen. Das
ist das öffentliche Einfallstor, das entsprechend abgesichert werden
muss. Dann gibt es noch einen ssh-Tunnel nach Hause über den der
öffentliche Apache dynamische Inhalte aus meinem Netz holt. Damit ist
nicht ein einziger offener Port auf meinem Router nötig und selbst
http-Requests werden durch den ssh-Tunnel verschlüsselt.
Die "einfache" Lösung wäre, wie übliche einen Apache HTTP(s) Server
dazwischen zu schalten. Aber ich schätze mal, das wolltest du in diesem
speziellen Fall gerade vermeiden.
Jedenfalls solltest du diese kleinen Mikrocontroller ohnehin nur lokal
nutzen. Nicht im öffentlichen Internet - auch nicht durch einen mehr
oder weniger transparenten Proxy. Dafür sind sie einfach zu unsicher und
wenn es mal zu einem Einbruch kommt, kann niemand nachvollziehen, wie es
passiert ist.
Falls das irgendwie über Internet erreichbar ist, stimme ich meinem
Vorredner zu:
Dann sollte ein ausgewachsener Applikations-Server (z.B. Apache HTTP
Server oder Tomcat) das ganze Webinterface realisieren. Der ESP würde
nur noch simple Kommandos wie "Licht 3 an" empfangen. Der ganze Security
Kram wäre Aufgabe der ausgewachsenen Server.
> TestX schrieb:
etwas
Birgel schrieb im Beitrag #5727041:
> Warum mutest du mir deine stümperhafte Rechtschreibung zu?
Du warst gar nicht angesprochen. Warum platzt du hier von der Seite
herein ohne etwas zum Thema beizutragen?
Hallo Zusammen,
danke für eure Ausführungen. Der ESP hängt bei mir nicht im Internet,
sondern wird nur local im Access Point Modus genutzt. Die Website die er
bereit stellt dient als Steuer und Kontroll Übersicht für meine
Anwendung.
Wie schon erwähnt, geht es mir auch nicht unbedingt um eine https
Verschlüsselung sondern nur darum, das ich den Application Cache des
Browsers wieder verwenden kann (Das ging bis vor einem halben Jahr ohne
Probleme, als die Browser ohne Einschrännkung die Verwendung des
Applikation Caches zu ließen.). Dieser funktioniert nämlich nur, wenn
der Browser über https mit dem Server kommunizieren kann.
Evtl. hat noch einer ne Idee.
Was mir auch helfen würde: Ein Tool, welches bestehenden html und
javascript Code in eine Android App konvertiert.
Danke und Grüße Theo
Ich verstehe nicht ganz wo das Problem ist, warum willst du unbedingt
den Browsercache verwenden? Lass es doch weg. Wenn die Bilder eine
anständige Komprimierung haben, werden die auch recht flot vom ESP
geladen.
Eine Seite mit 8 Bildern, die als Buttons verwendet werden, lädt auch
bei guter Komprimierung nur Stück für Stück. Das finde ich sehr unschön,
deshalb der AppCache.
Grüße
Theo schrieb:> Eine Seite mit 8 Bildern, die als Buttons verwendet werden, lädt auch> bei guter Komprimierung nur Stück für Stück. Das finde ich sehr unschön,> deshalb der AppCache.
was verwendest du auf dem ESP als HTTP Server?
Man kann auch alle Bilder in einer Bilddatei zusammenfassen und per CSS
in jedem Button den entsprechenden Ausschnitt anzeigen - dann wird nur
eine Bilddatei geladen und es erscheint bei allen gleichzeitig.
Sascha
Guten Morgen Zusammen,
danke für eure Tipps. Ich habe jetzt eine Android App geschrieben. Es
werden nun alle Dateien lokal auf dem entsprechenden Gerät gehalten und
es gehen nur noch XMLHttpRequests mit den dynamischen Daten an den
Server und zurück.
Funktioniert sehr gut.
Grüße