Nginx bietet leere Datei beim Aufruf an

  • Hallo zusammen,


    ich habe ein Problem mit meinem nginx Webserver. Dieser sollte regulär http:// Aufrufe zu https:// weiterleiten. Dies funktionierte bis gestern, ohne mein zutun, problemlos. Nun funktioniert lediglich der https:// Aufruf.


    Beim http:// Aufruf bietet der Webserver eine namenlose Datei zum Download an die folgenden Inhalt enthält:


    0000 1204 0000 0000 0000 0300 0000 8000
    0400 0000 0000 0500 ffff ff00 0004 0800
    0000 0000 7fff 0000 0000 0807 0000 0000
    0000 0000 0000 0000 01


    Die Datei hat den Dateityp "application/octet-stream". Demnach habe ich bereits versucht in meiner nginx.conf die Zeile "default_type application/octet-stream;" auszukommentieren, jedoch brachte dies nicht den gewünschten Erfolg.



    server {
    listen 80 http2;
    listen [::]:80 http2;
    server_name meine.tld http://www.meine.tld;
    return 301 https://$server_name$request_uri;
    }


    Des Weiteren hat der HTTP Response Header nur folgenden Inhalt:


    Code
    Status: �����




    Leider ist in den Logfiles (nginx / php) nichts zu finden :-(.


    Ich bin ratlos, woran es noch liegen könnte, sämtliche apache2 Dateien habe ich entfernt um Konflikte zu vermeiden, alles ist auf dem aktuellsten Stand (upgrade & update), neugestartet habe ich die Dienste sowie den Server selbst bereits.


    Sämtliche Foren, die in irgendeiner Weiße etwas damit zu tun hatten, habe ich durchforstet, jedoch leider nichts gefunden.


    Vielen Dank schon mal im Voraus.


    Beste Grüße,
    Unkn0wn0x

  • listen 80 http2;
    listen [::]:80 http2


    Sehe ich das richtig du möchtest http2 (spdy) auf Port 80 anbieten? Dies impliziert eigentlich SSL/TLS und sollte auf Port 443 laufen. Entferne mal http2 jeweils und starte den Webserver einmal durch.

  • Hi Michi,


    Danke für deine Antwort. Bei einem Redirect benötigt es keine Angabe einer index-Datei. Zumal das ein "globales" Einstellungsproblem mit dem NGINX sein muss, da es sämtliche Subdomains ebenfalls betrifft.


    Viele Grüße,
    Unkn0wn0x

  • Ich habe das Problem nun beheben können. Wie twiddern bereits zu Anfang sagte, lag es am http2 Protokoll, welches ich auf Port 80 gelegt habe.


    Das eigentliche Problem war jedoch, dass ich mehrere Subdomains mit einem eigenen Root-Directory im Webverzeichnis hatte. In den anderen "site-available"-Files war das http2 Protokoll nach wie vor drinnen und hatte komischerweise Einfluss auf die gesamte Webserver Einstellung. "nginx -t" bestätigte auch ständig, dass die Konfiguration in Ordnung sei und gab in keinster Weise Logfiles aus.


    Nachdem ich den nginx Webserver komplett neu aufsetzte, nach und nach die Konfigurationen aus dem Backup übernahm, stieß ich auf den Fehler.


    Demnach ist das Problem behoben.


    Beste Grüße,
    Unkn0wn0x