Rewrites unter Nginx loggen

In der Konfiguration für den Webserver Nginx bzw. dessen Seiten, ist es möglich Rewrite-Direktiven zu nutzen. Damit können URLs umgeschrieben werden. Ein Beispiel für eine solche Direktive wäre z.B.

try_files $uri $uri/ @rewrite;

location @rewrite {
  rewrite ^/(.*)$ /index.php?_url=/$1;
}

Wenn dieser Rewrite zur Anwendung kommt, erscheint leider keine Meldung in den Nginx-Logs access.log und error.log. Um das Logging für Rewrites zu aktivieren, muss die Option:

rewrite_log on;

im server-Block der Konfiguration, welche unter /etc/nginx/sites-available/ zu finden ist, aktiviert werden. Daneben muss die Logging-Severity, also die Schwere der Events die geloggt werden sollen, angepasst werden. Dazu wird folgende Option dem server-Block hinzugefügt:

error_log /var/log/nginx/error.log notice;

Wenn die Log-Datei nun angeschaut wird, so finden sich dort für jeden Rewrite entsprechende Meldungen:

2019/05/29 08:35:30 [notice] 16054#16054: *127817 „^/(.*)$“ matches „/name/german“, client: 82.193.248.37, server: api.example.com, request: „GET /name/german HTTP/1.1“, host: „api.example.com“
2019/05/29 08:35:30 [notice] 16054#16054: *127817 rewritten data: „/index.php“, args: „_url=/name/german“, client: 82.193.248.37, server: api.example.com, request: „GET /name/german HTTP/1.1“, host: „api.example.com“

REST-APIs unter Apache und Nginx betreiben

Eine der wesentlichen Eigenschaften von REST-APIs bzw. RESTful-Webservices ist ihre Adressierbarkeit von Ressourcen. Wenn ich z.B. über eine API verfüge, welche mir Namen generiert, so kann es in dieser API unterschiedliche Ressourcen geben:

GET https://api.example.com/name/german/
GET https://api.example.com/name/polish/

Rufe ich nun eine der beiden Ressourcen mit dem HTTP-Verb GET auf so erhalte ich entweder einen deutschen oder einen polnischen Namen von dieser Beispiel-API. Für den Webserver ergibt sich allerdings das Problem, das der Ordner name und die entsprechenden Unterordner nicht existieren. Das einzige was in diesem Beispiel existiert ist eine index.php-Datei, welche unter der URL:

https://api.example.com/index.php

zu finden ist. Damit die REST-API ordnungsgemäß funktioniert, müssen die entsprechenden Aufrufe zur index.php-Datei umgebogen werden. Bei dem Webserver Apache kann dies über eine .htaccess-Datei mit folgendem Inhalt erledigt werden:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>

Diese Datei sollte dabei im gleichen Verzeichnis wie die Datei index.php liegen. Bei Nginx muss stattdessen die Konfiguration der Domain bzw. der Seite angepasst werden. Diese Konfigurationen sind unter /etc/nginx/sites-available/ zu finden. Dort muss folgende Konfiguration hinzugefügt werden:

try_files $uri $uri/ @rewrite;

location @rewrite {
	   rewrite ^/(.*)$ /index.php?_url=/$1;
}

Hinterlegt werden muss die Konfiguration in einem server-Block derselben. In diesem Fall würde die URL bzw. der Aufruf:

GET https://api.example.com/name/german/

intern in die URL:

https://api.example.com/index.php?_url=name/german/

umgeschrieben und vom Webserver geladen. Dadurch landen die Aufrufe wieder bei der Datei index.php und können verarbeitet werden.

Blankensee in Mecklenburg

Ich wohne bereits seit einigen Jahren in der Gemeinde Blankensee in Mecklenburg. Was ich in dieser Zeit ein wenig vermisst habe ist eine zentrale Anlaufstelle, in welcher Informationen zur Gemeinde gefunden werden können. Aus diesem Grund habe ich mich selber daran gemacht und eine solche Seite erstellt. Herausgekommen ist eine Seite über Blankensee in Mecklenburg, welche Informationen rund um die Gemeinde bietet.

Die Webseite blankensee.net

Neben Informationen und Nachrichten, finden sich weitere Dinge wie z.B. frei verwendbare Karten, basierend auf OpenStreetMap-Daten, auf der Seite. Ziel ist es die Seite im Laufe der Zeit weiter auszubauen, um einen größtmöglichen Mehrwert zu liefern. Zu finden ist die Seite über Blankensee in Mecklenburg unter blankensee.net.

Multilinguales Wörterbuch

Auf der Suche nach einer Wortvariante übersetze ich ein Wort in unterschiedliche Sprachen. Dabei war es mühselig ein und dasselbe Wort bei unterschiedlichen Anbietern und Wörterbüchern einzugeben. Auf der Suche nach Abhilfe würde ich schließlich bei Woxikon fündig.

Zu einem Wort werden die Übersetzungen aus unterschiedlichsten Sprachen angezeigt

Nach der Eingabe eines Wortes zeigt der Dienst die Übersetzung des Wortes in unterschiedlichsten Sprachen, wie Englisch, Spanisch, Französisch, Italienisch, Portugiesisch, Niederländisch und vielen weiteren Sprachen an. Neben Übersetzungen finden sich Synonyme, Abkürzungen und Reime auf der Webseite. Gefunden werden kann Woxikon unter woxikon.de.

Earth Final Conflict

Vor knapp fünfzehn Jahren, fing ich an die Serie Earth Final Conflict zu schauen. Die Serie basiert auf alten Aufzeichnungen von Gene Roddenberry, den meisten wohl für Star Trek bekannt. Die Serie handelt von einer außerirdischen Rasse, genannt die Taelons, welche sich um das Jahr 2015 herum der Menschheit offenbaren. Nach eigenen Aussagen, der auch als Companion bekannten Außerirdischen, kommen sie in Frieden und helfen der Menschheit Kriege, Krankheiten und Hunger zu besiegen.

Ausgehend von dieser Prämisse entwickelt sich die Geschichte, welche drei Jahre nach Ankunft der Taelons einsetzt. So wird im Laufe der Serie klar, dass die Taelons nicht die hehren Motive haben, die sie vorgeben zu haben. Eine menschliche Widerstandsbewegung formt sich und bekämpft die Taelons.

Da die vierte und fünfte Staffel, beginnend ab Folge 17 der vierten Staffel damals nicht mehr ausgestrahlt wurden, habe ich das in den letzten Wochen nachgeholt und alle fünf Staffeln im Original angeschaut.

Unter Fans der Serie ist das Bild meist so, das die erste Staffel für gut befunden wird, die Staffeln 2 – 4 ebenfalls ihre Freunde finden und Staffel 5 in den Abfall gehört. Für die erste Hälfte der fünften Staffel trifft dies auch zu. Die zweite Hälfte der Staffel nimmt dann etwas an Fahrt auf, allerdings hält sie nicht mit den vorherigen Staffeln mit.

Dies ist unter anderem damit begründet, das die Taelons in der fünften Staffel so gut wie keine Rolle mehr spielen. Die Auflösung über das Schicksal der Taelons am Ende der vierten und fünften Staffel ist mehr als unbefriedigend. Stattdessen geht es plötzlich um eine andere aggressive Spezies namens Atavus. Auch wirkt die fünfte Staffel in Teilen belanglos. Das Ende der Serie an sich ist unbefriedigend, da die Taelons nicht mehr beleuchtet werden.

Im Gegensatz zu anderen Serien wurde bei Earth Final Conflict in fast jeder Staffel ein Teil des Hauptcasts gestrichen bzw. ausgetauscht. Auch das Budget verringerte sich, so das in der fünften Staffel nur noch ein Bruchteil verfügbar war. Dies merkt der Zuschauer unter anderem durch einige Episoden, in denen fast nur Rückblenden vergangener Episoden gezeigt wurden.

Alles in allem fühlt sich Earth Final Conflict wie eine großartige Serie an, bei der der Zuschauer um das Ende und die Auflösung des Taelon-Konfliktes betrogen wurde.