403 Basit test sayfama ulaşmaya çalışırken yasaklandı


13

Az önce nginx'i kurdum ve ilk sitemi kurmaya çalışıyorum. Php-fpm ile nginx kullanmaya çalışıyorum. nginx yüklü (benim ip gittiğimde varsayılan nginx sayfasına hoş geldiniz olsun).

Şimdi çalışan basit bir komut dosyası almaya çalışıyorum:

<?php
phpinfo();

Ama 403 Yasak sayfasına vurmaya devam ediyorum. Sanal sunucumun günlüğünde aşağıdaki gibi birçok satır görebilirim:

2012/05/18 01:29:45 [error] 4272#0: *1 access forbidden by rule, client: x.170.147.49, server: example.com, request: "GET / HTTP/1.1", host: "example.com"

Dosya /srv/www/test/index.phpolan nginx sahibi ( 777boşuna dosya da dahil olmak üzere tam yol ing olarak olduğu gibi gitti ).

Ben nginx gerçekten nginx/nginxyapılandırma ve kullanıcı altında grup altında çalıştığını kontrol ettim . Nginx.conf dosyasında, başka bir yapılandırmanın engellemediğinden emin olmak için varsayılan yapılandırma yolunu değiştirdim ( include /etc/nginx/sites-enabled/).

Kullandığım yapılandırma benziyor (başka yapılandırmalara ihtiyacınız varsa (php-fpm / nginx.conf) lütfen bana bildirin):

server {
    listen 80;

    server_name example.com;
    root /srv/www/test;
    access_log /var/log/nginx/example-access.log;
    error_log  /var/log/nginx/example-error.log error;

    location ~ /.          { access_log off; log_not_found off; deny all; }
    location ~ ~$           { access_log off; log_not_found off; deny all; }

    location ~* .(js|css|png|jpg|jpeg|gif|ico|xml|swf|flv|eot|ttf|woff|pdf|xls|htc)$ {
        add_header Pragma "public";
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        access_log off;
        log_not_found off;
        expires   360d;
    }

    location ~ /.ht {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~ /. {
        access_log off;
        log_not_found off;
        deny all;
    }

    location ~ ^/(index|frontend_dev|admin|staging).php($|/) {
        #rewrite ^/(.*)/$ /$1 permanent;
        fastcgi_split_path_info ^(.+.php)(.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;

    }

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

Yanıtlar:


22

Yapılandırmanız bilerek engelliyor:

location ~ /. {
    access_log off;
    log_not_found off;
    deny all;
}

Bu, eğik çizginin ardından herhangi bir karakterle gelen herhangi bir istekle eşleşir; .normal ifadede karakteri "herhangi bir karakter" anlamına gelir.

Bir değişmezi kontrol etmek istediğini varsayıyorum .; bu yapılandırma olurdu:

location ~ /\. {

Durum böyle değilse bana bildirin!


OMG Şu anda kendimi çok aptal hissediyorum (uhhhmmm 'bazı' için buna oynadığımı düşünürsem). Hızlı cevabınız için teşekkürler!
user6669
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.