unter homezone.ioioioio.eu ist mein heimrechner als weiterleitung erreichbar. da ich aktuell keinen root-server habe, ist das die möglichkeit, weiterhin präsentabel zu sein.
die kleine box ( cubieboard / cubietruck ) ist ein arm.v7 basierter server, auf dem ein tomcat–servlet-container läuft. da die ip sich bei dsl ändert, muss die aktualisierung eben auch häufiger erfolgen.das hab ich mit einem bash-shell-script erreicht, welches die weiterleitung auf dem webserver arrangiert.
mit ein paar schritten wird dazu eine index.html erstellt die per ftp auf den webserver hochgeladen wird. per cron-job wird alle zehn minuten nach der externen ip gefragt und bei änderung dann die geänderte datei hochgeladen. ist der server nicht erreichbar soll die weiterleitung aufgehoben sein und die index.html entsprechend verändert sein. jedenfalls soll eine statische html datei ausgeliefert werden, um möglichst performant zu sein und anfragen nicht durch prozessing zu behindern.
update.external.ip.sh
<code>
index.html
<code>
checkMetaData.php
<code>
so ganz rund sind die einzelnen schritte noch nicht, gehen aber in die richtige richtung. da auf dem webserver nur php verfügbar ist und ich da kein spezi bin, soll das ganze mit so wenig wie möglich php-code auskommen. es zeigt sich jedoch, das auf beiden seiten einiges an logic eingebaut sein muss und der workflow doch ein wenig defiziler ist, als ursprünglich gedacht. da zwischen homezone und rechenzentrum eine bidirektionale verbindung etabliert sein muss, prüft jede seite ein paar vorgaben, bevor der connect zu standen kommt. der ablauf ist in etwa wie folgt:
cron -> update.external.ip.sh update.external.ip.sh -> ip.php update.external.ip.sh -> checkMetaData.php upload -> index.html
ist die html datei bereit ( deployed ) ist die mechanic etwa:
homezone online -> redirect via meta tag homezone offline -> status/info ablesbar
so ist die homezone auch von unterwegs für mich erreichbar und meine dort verfügbaren dateien nutzbar. noch nicht ganz knitterfrei, aber so langsam fällt mir auf, wo die haken und ösen hingehören. ist man eingelogged, kann man dateien in seinen account laden, sich roh-texte per map-reduce in javascript auf keywords filtern und technische daten zur verbindung einsehen. durch das hin&her von windows auf den root-server unter linux ist die listung der datei grad nicht okay, es wird schlicht im falschen verzeichnis geschaut. warum dann aber ausgerechnet quelltext zu sehen ist, muss ich wohl auch noch recherchieren. kalt geprüft braucht der server in diesem fall 63ms für den roundtrip, nach dem cache-warming geht die runde dann mit 13ms zu absolvieren. hier lohnt der vergleich zum entwicklungsrechner, der schafft auch grad mal 3-4-5 ms. für die gleiche nummer, durchaus akzeptabel für den kleinen kerl ( arm cortex a8 als allwinner a10 ).