Nach Nginx Installation nur noch 404 not found

MarvinG

New Member
Hallo zusammen,

nachdem ich schon seit mehreren Wochen jetzt mit heftigem DDoS zu kämpfen hatte, der mein Apache dauernd lahmlegte, habe ich mich schlussendlich entschlossen meinen Server auf Nginx umzustellen.
Da ich noch sehr am Anfang stehe und momentan nur die einfachen Grundkenntnisse besitze, habe ich versucht über Tutorials nginx als frontend mit apache im backend zu installieren und zu konfigurieren.

Wie es scheint hat auch alles ganz gut geklappt, ..
Nun wird mir allerdings nur noch "404 Not Found" angzeigt.
phpmyadmin funktioniert demnach auch nicht.

ich weiss momentan nicht weiter ... wahrscheinlich liegts an irgendeiner config Datei die abgeändert werden muss. Fragt sich nur welche?!


Vielleicht kann mir einer von euch weiterhelfen?

Hier ein paar Systeminformationen:
Debian 6.0
Linux 2.6.32-5-amd64 auf x86_64
Intel(R) Xeon(R) CPU X3360 @ 2.83GHz, 4 cores
2 GB ram

Davor lief halt ganz normal Apache mit ein paar "Absicherungen" wie fail2ban, mod_evasive, mod_security usw. die aber wie gesagt kaum etwas brachten.
 
habe in meinem nginx Verzeichnis nur

fastcgi.conf.default
koi-utf
mime.types.default
scgi_params
uwsgi_params.default
fastcgi_params
koi-win
nginx.conf
scgi_params.default
win-utf
fastcgi.conf
fastcgi_params.default
mime.types
nginx.conf.default
uwsgi_params
 
ok, sieht dann so aus:

Code:
user  nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root  html;
            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /var/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

@virtual2
Ich habe mich übrigens auch an deinem Tutorial gerichtet, welches du hier beiläufig im Forum gepostet hast. mod_rpaf ist demnach auch auf drauf.
 
Code:
    proxy_pass_header Set-Cookie;
    proxy_redirect off;
    proxy_set_header Referer $http_referer;
    proxy_set_header Host $host;
    proxy_set_header Cookie $http_cookie;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    server {
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        proxy_pass   http://127.0.0.1:8080;
        }
Diesen Teil in deiner NGINX Config wie in meinem Beispiel ändern und dann Apache auf Port 8080 lauschen lassen. Mit deiner Config leitet NGINX nur alle Anfragen auf /etc/nginx/html, jedoch müssen die Anfragen logischer Weise zu Apache "geproxyt" werden. Die restlichen Settings sind dafür da, dass die Header richtig zu Apache weitergegeben werden, damit dieser dann den entsprechenden vHost nimmt. "_" als server_name dient als Wildcard.
Es gibt übrigens auch nette Layer 7 Filter Module für NGINX, wie beispielsweise kyprizel's testcookie Modul oder auch Roboo. Ersteres habe ich erst vor Kurzem für einen Anti-DDoS-Hoster eingerichtet.
 
Anscheinend hast du dich nicht an das HowTo gehalten, andernfalls würde deine /etc/nginx/nginx.conf so aussehen:

Code:
user www-data;
worker_processes  5;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

#HTTP Proxy config

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

upstream webserv1  {
  server 127.0.0.1:80 fail_timeout=30s;
}

server {
  location / {
    proxy_pass  http://webserv1;
    include /etc/nginx/proxy.conf;
    access_log off;
 }
server_tokens off;
listen ipv4 Adresse:80;
listen [ipv6 Adresse]:80;
}
}

Die /etc/nginx/proxy.conf würde demnach wie folgt aussehen:

Code:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 30m;
client_body_buffer_size 256k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 64 8k;

Wenn du einem HowTo folgst dann ist es auch zwingend von Nöten dass du diesem genau folgst nicht eigene Änderungen durchführst (Wenn du dich z.B. damit nicht genau auskennst).

HowTo: http://www.debian-blog.de/p/nginx-als-reverse-proxy-ipv6

mod_rpaf: http://www.debian-blog.de/p/apache2-mod_rpaf

Lesen und von oben nach unten wie im HowTo beschrieben durcharbeiten, andernfalls wird das nix.
 
danke erstmal.

Habe jetzt alles wie im Tutorial beschrieben gemacht, er gibt mir beim starten des nginx trotzdem einen Fehler aus:

Code:
Restarting nginx: nginx: [emerg] host not found in "ipv4" of the "listen" directive in /etc/nginx/nginx.conf:32
nginx: configuration file /etc/nginx/nginx.conf test failed

server_tokens off;
listen ipv4 80.67.X.XXX:80;
listen [ipv6 Adresse]:80;

die ipv6 Adresse ist derzeit auf meinem Server deaktiviert.
 
Code:
listen ipv4 80.67.X.XXX:80; 
listen [ipv6 Adresse]:80;

die ipv6 Adresse ist derzeit auf meinem Server deaktiviert.[/QUOTE]

ipv4 sollte durch die IPV4 Adresse ersetzt werden, kann d.h. in deinem Fall entfernt werden.

Falls IPV6 nicht zur Verfügung steht reicht es die Zeile mit einem # auszukommentieren.
 
virtual2, ich danke dir vielmals.

das "ipv4" entfernen ... hätte man auch von selbst drauf kommen können :rolleyes:
naja manchmal ist man halt einfach blind :o

Läuft nun alles. Danke an alle mithelfer.

MfG Marvin
 
Back
Top