Netzwerk und Server in so einem Space am Laufen zu halten, kostet schon mal das eine oder andere graue Haar, aber wieviele mir nginx schon bereitet hat, mag ich grad nicht mehr zählen. Von vorn: weil wir coole Hacker sind, haben wir in unserem lokalen Netz im Space auch IPv6 trotz IPv4-only-Anschluss und NAT, SixXS und fli4l machen’s möglich. Im lokalen Netz laufen einige Dienste, unter anderem auch die Space API. Für den HTTP-Zugriff von draußen über IPv4 haben wir mit nginx einen Reverse Proxy aufgesetzt auf einem Debian Wheezy, wir reden also von Version 1.2.1 plus Patches. Den aktuellen Status kann man abrufen, so:

Die URLs sollen von draußen wie drinnen erreichbar sein und zwar am besten mit dem selben FQDN über IPv4 und IPv6 und das hat mir einiges Kopfzerbrechen bereitet. Alle Anfragen von intern und extern landen erstmal auf dem Reverse Proxy (CNAME-Records FTW) und der leitet das dann noch an einen anderen Rechner im lokalen Netz weiter. Mal ging der Zugriff von außen nicht, mal nicht von innen, mal nicht über IPv6 usw. und da der ngnix nicht nur diese eine Aufgabe hat – andere Dienste erfordern HTTPS – war das ganze bisschen knifflig. Dass es mit IPv6 ein Problem gab, wurde irgendwie mit Hilfe von tcpdump und Wireshark klar, weil sich Zugriffe von innen und außen genau dadurch unterschieden, dass hier das eine und dort das andere genutzt wurde. Schlussendlich auf den Trichter gebracht haben mich die Fehlermeldungen von nginx selbst und ein Eintrag bei serverfault.

Lange Rede kurzer Sinn, hier die entscheidenden Zeilen der Config, den Rest bitte selbständig hinzufügen.

Für den default host:

Und dann für alle virtual hosts jeweils:

Das Verrückte ist, dass sich die listen Angaben je nach default und vhost unterscheiden und dass man bei SSL aber wieder auf die zweite Zeile für IPv4 verzichten muss und beides so geht. Da kommt doch kein Mensch drauf!

What do you think?