NginX & 403 Forbidden & 502 Bad Gateway

  • Huhu,


    ich habe mal so ne tolle Frage die lautet folgender massen: Ich habe nun meinen NginX installiert Konfiguriert, danach Froxlor installiert und Konfiguriert. Einen Kunden angelegt, eine Domain zugewiesen und nun kommt:


    Code
    403 Forbidden



    Ich weis keinen Rat mehr was ich tun soll. Danke für eure Hilfe!


    Mit freundlichen Grüßen Blaster

    2 Mal editiert, zuletzt von Blaster ()

  • Ja eine index.html ist im Benutzer Verzeichnis vorhanden aber jede URL/IP löst aktuell einen Forbidden aus. Die Log sagt nicht viel aus :/ haha als ich NginX neustarten wollte kam das:


    Code
    nginx: [emerg] a duplicate default server for xx.xxx.xxx.xx:xx in /etc/nginx/sites-enabled/xxxxxxxxxxxxxxxxxxxxxxxx.de.conf:3nginx: configuration file /etc/nginx/nginx.conf test failed

    3 Mal editiert, zuletzt von Blaster ()

  • Also in meinen Augen heißt das, dass entweder Froxlor eine zweite vHost angelegt hat oder ich etwas falsch eingestellt habe.


    Einen schönen sonnigen Freitag! :)

  • Na dann solltest Du erst mal die nginx.conf präsentieren:


    1. Schritt:
    - SSH-Konsole öffnen: nano /etc/nginx/nginx.conf eingeben und bestätigen
    -- nano ist ein Editior, der im System schon enthalten ist, meinetwegen kannst Du auch einen anderen verwenden, ich bleibe bei dem kleinen Tut aber bei nano


    2. Schritt:
    - alles markieren und hier im Forum einfügen (sind 2 Seiten)
    -- mit STRG - V und STRG -Y kannst Du blättern
    -- kein Rechtsklick machen, damit fügst Du markierte Stellen, an der Position des Cursors ein


    3. Schritt:
    - nano mit STRG - X verlassen
    -- sollte sich etwas an der Datei geändert haben, fragt er Dich ob Du speichern möchtest, möchtest Du natürlich nicht! ;)


    Dann möchte ich von Dir die Inhalte des Ordners sites-enabled sehen!


    1. Schritt:
    - in der Konsole cd /etc/nginx/sites-enabled eingeben und bestätigen
    -- Du befinbdest Dich jetzt im Ordner sites-enabled, um den Inhalt aufzulisten folgt Schritt 2


    2. Schritt:
    - Konsoleneingabe: ls
    -- damit wird der gesamte Inhalt des Ordners sites-enabled angezeigt
    -- man könnte auch ls /etc/nginx/sites-enabled schreiben, damit braucht man nicht in dem besagten Ordner sein


    3. Schritt:
    - Konsoleneingabe: nano irgend_eine_domain_aus_der_liste.conf
    -- was nano ausgiebt wieder kopieren und hier einfügen, von allen bestehenden Domains
    -- wegen mir kannst Du jede Domain unkenntlich machen, aber bitte nur die Domain
    -- man kann auch nano /etc/nginx/sites-enabled/irgend_eine_domain_aus_der_liste.conf schreiben, von jedem Ort im System, dazu muss man aber wissen, was sich in dem Ordner sites-enabled befindet


    Noch eine kurze Erklärung zu den Dateien! :)

    nginx.conf
    ist die globale Konfiguratiosdatei von nginx.
    In der Regel fasst man die nur 1x bei Ersteinrichtung des Servers an. Bei der Einrichtung von Froxlor muss man das auch machen.
    Sollten irgend wann einmal globale Änderungen von Nöten sein, die jeden vHost betreffen soll, dann macht man das dort. Damit erspart man sich die Arbeit, jeden einzelnen vHost anzupassen.


    irgend_eine_domain_aus_der_liste.conf ist eine vHost-Datei.
    Für jede Domain/Subdomain/Alias-Domain wird, normaler Weise (es gibt auch Ausnahmen), eine Datei angelegt. Das sollte Froxlor für Dich übernehmen. Ob Froxlor jetzt Symlinks verwendet oder diese Dateien gleich in den Ordner sites-enabled schreibt, ist dabei egal. Beim Anlegen eines Symlinks wird die Datei eh nochmal in sites-enabled erstellt.
    Diese vHost-Datei stellt die Konfigurationsdatei für jeden einzelnen vHost dar.
    Nur da und wirklich nur da, nimmt man Änderungen vor, z.B. wenn man ein Verzeichnisschutz für diese Domain anlegen, Rewrite-Rules anlegen möchte usw. und sofort.


    Ich kann mich erinnern, dass ich nginx auch mal mit Froxlor versucht habe zu betreiben, aber zu dem Entschluß gekommen bin, dass Froxlor die Dateien nicht sauber anlegt. Das ist aber nur meine Meinung und muss nicht auf jeden Einzelnen zutreffen. nginx ist allerdings so simpel von Hand zu administrieren, man muss das System einfach nur verstanden haben.
    Bei Apache braucht man hingegen Abitur, um es mal überspitzt zu formulieren. ;)

    Schöne Grüße aus der Lüneburger Heide!
    Thomas

  • nginx.conf



    vHost Dateien








    Code
    # 22_froxlor_normal_vhost_worlxxxxxter.de.conf# Created 25.04.2013 20:10# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.
    server { listen xx.221.xxx.66:80; server_name worlxxxxxter.de *.worxxxxxster.de; access_log /var/customers/logs/Blaster-access.log combined; error_log /var/customers/logs/Blaster-error.log error; root /var/customers/webs/Blaster/WoxxxxxterWebsite/;
    location / { index index.php index.html index.htm; try_files $uri $uri/ @rewrites; }
    location @rewrites { rewrite ^ /index.php last; }
    location /webalizer { alias /var/customers/webs/Blaster/webalizer/wxxxxxxxlaster.de/; auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/froxlor-htpasswd/1-93xxxxxxxxxx6024fdaf131e4cbd8.htpasswd; }
    location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_pass 127.0.0.1:8888; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; }}

    Einmal editiert, zuletzt von Blaster ()

  • So Leute Friede Freude Eierkuchen, mein NginX läuft wieder Problemlos.


    Hier die Lösung:


    • die Standart vHost löschen. (Da Froxlor sie ja so oder so anlegt.)
    • In der nginx.conf aus
      Code
      #server_names_hash_bucket_size 64;

      ->

      Code
      server_names_hash_bucket_size 64;

      machen.

    • In /var/customers/ -> logs anlegen, dort dann <benutzername>-access.log anlegen.
    • /etc/init.d/nginx start


    server_names_hash_bucket_size 64; ist dafür verantwortlich das länger vHost adressen Angenommen werden.


    Heute scheint mich NginX total zu hassen , nun taucht ein 502 Bad Gateway auf -.-

    Einmal editiert, zuletzt von Blaster ()

  • Das deutet auf ein Problem mit fastcgi hin!


    Läuft fastcgi überhaupt unter dem Port 8888?
    Ich denke, default läuft es unter 9000. Du kannst ja mal in den vHost den Port 8888 auf 9000 ändern, danach nginx in jedem Fall neu starten und fastcgi vorsichtshalber auch.
    Ich meine mich zu erinnern, dass dieses Problem von froxlor gelöst sein sollte. Schau dafür noch mal bei denen ins Forum.


    Schau Dir als Alternative mal php5-fpm an und lass Deine Seiten über sockets laufen. php5-fpm ist sicherer und sockets sind nochmal ein Stück schneller. ;)
    server_names_hash_bucket_size 64;
    Auf die Idee wäre ich auf die Schnelle jetzt auch nicht gekommen. :)


    Schöne Grüße aus der Lüneburger Heide!
    Thomas

  • Ich bin langsam mit meinem Latein am ende, meine Kollegin ebenfalls. Wir schaffen es nicht NginX mit Froxlor zum laufen zubekommen entweder ein 403 Forbidden oder ein 502 Getway. Gibt es da irgendeinen der diese Fehler bereits gefixt hat. Sobald sich im Verzeichnis mehr als eine Index.php befindet schmeisst es einen 403 Forbidden, bei Froxlor einen 502 Bad Gateway.


    Mit traurigen Grüßen Blaster :cursing: