Nginx index.php nur verbotenes Unterverzeichnis!


3

Ich benutze Nginx 1.0.4 + PHP-Fpm + WordPress auf OpenVZ Container. Mein Setup funktioniert gut. Aber wenn ich versuche, auf http://example.com/wp-admin/ zuzugreifen, erhalte ich einen Fehler von 403 und ich greife auf http://example.com/wp-admin/index.php zu . Fehlerprotokoll :

2011/07/24 21:50:38 [error] 29939#0: *35 "/home/example/blog/public_html/wp-admin/index.php" is forbidden (13: Permission denied), client: 125.234.x.x, server: loopback.info, request: "GET /wp-admin/ HTTP/1.1", host: "example.com"

Unten ist meine Konfiguration:

    upstream example {
            server    unix:/dev/shm/example.sock;

    server {
            listen   80;
            server_name  example.com;
            root /home/example/blog/public_html;
            index index.php;
            access_log  /home/example/blog/logs/access.log;
            error_log /home/example/blog/logs/error.log;

            location ~ /\.ht {
             deny all;
            }
            location = /favicon.ico {
                    log_not_found off;
                    access_log off;
            }

            location = /robots.txt {
                    allow all;
                    log_not_found off;
                    access_log off;
            }


            location / {
                    try_files $uri $uri/ /index.php;
            }

            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass  example;
            include        fastcgi_params;
        }

     location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }

}

Ich weiß, dass dies keine Antwort ist, aber ich finde es merkwürdig, warum Sie Sockets anstelle von Proxy-Pass verwenden, z. B. 127.0.0.1:9000.
Aco

Uninx Socket oder TCP ist der gleiche Fehler!
Mr.Hien

@Aco: Da Sockets im Allgemeinen schneller als TCP sind, müssen Sie keine Proxy-Verbindungen zu anderen Servern herstellen
pauska

@pauska Würdest du zufällig wissen, ob ich Sockets für Memcached verwenden könnte? Danke für die Rückmeldung! :)
Aco

@Aco: Warum solltest du Sockets mit memcached verwenden? Der Sinn von memcached ist es, den Cache zwischen Servern zu teilen, was ohne TCP / IP nicht möglich ist
pauska

Antworten:


1

Ich löste durch entfernen

 open_file_cache max=5000 inactive=20s;

von der Haupt-Nginx-Konfigurationsdatei.


Können Sie Ihre Antwort akzeptieren, damit die Leute keine Zeit damit verbringen, Ihr Problem zu lösen?
Lulalala
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.