403 Prohibido cuando intento acceder a mi página de prueba simple

13

Acabo de instalar nginx y estoy tratando de configurar mi primer sitio. Estoy tratando de usar nginx con php-fpm. nginx está instalado (cuando voy a mi ip recibo la bienvenida predeterminada a la página nginx).

Ahora estoy tratando de ejecutar un script simple:

<?php
phpinfo();

Pero sigo golpeando una página Prohibida 403. En el registro de mi host virtual puedo ver muchas líneas como:

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"

El archivo es /srv/www/test/index.phpdel que nginx es el propietario ( 777busqué la ruta completa que incluye el archivo en vano).

He comprobado que nginx se está ejecutando realmente en user y group nginx/nginxen la configuración y lo es. En el nginx.conf he cambiado la ruta de inclusión de configuración predeterminada para asegurarme de que ninguna otra configuración se interponga en el camino ( include /etc/nginx/sites-enabled/).

La configuración que estoy usando se ve así (si necesita otras configuraciones (php-fpm / nginx.conf), hágamelo saber):

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;
    }
}
usuario6669
fuente

Respuestas:

22

Su configuración lo está bloqueando intencionalmente:

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

Eso coincidirá con cualquier solicitud en la que una barra sea seguida por un personaje de cualquier tipo; El .carácter en una expresión regular significa "cualquier carácter".

Supongo que pretendías verificar un literal .; esa sería esta configuración:

location ~ /\. {

¡Avísame si ese no es el caso!

Shane Madden
fuente
Dios mío, me siento tan estúpido ahora (considerando el hecho de que he estado protagonizando esto por uhhhmmm 'algún' tiempo). ¡Gracias por su pronta respuesta!
user6669