Estoy preparando mi blog en una nueva instancia de EC2 porque uno de los sitios en el servidor donde se aloja actualmente está siendo un ddos.
Estoy teniendo algunos problemas con nginx, porque puedo ver todas las páginas bien, pero 403 en el índice, o ver el índice, pero 404 en las páginas (dependiendo de la configuración que estoy usando)

Aquí está mi nginx config:

server {
    listen       80;

    server_name  www.test.com;
    server_name  test.com;
    root /www/blog;

    include conf.d/wordpress/simple.conf;
}

Y simple.conf:

location = /favicon.ico {
            log_not_found off;
            access_log off;
    }

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

    location / {
            # This is cool because no php is touched for static content. 
            # include the "?$args" part so non-default permalinks doesn't break when using query string
            try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
            #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
            include fastcgi.conf;
            fastcgi_intercept_errors on;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }

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

si puedo cambiar el try_files $uri $uri//index.php?$args; índice de index.php, la página principal funcionará bien y el resto será 404. Si lo dejo así, la primera página es de 403.

Aquí está el registro de error:

2013/08/07 19:19:41 [error] 25333#0: *1 directory index of "/www/blog/" is forbidden, client: 64.129.X.X, server: test.com, request: "GET /HTTP/1.1", host: "www.test.com"

Que directorio se 755 en el nginx usuario:

drwxr-xr-x 6 nginx nginx  4096 Aug  7 18:42 blog

Hay algo obvio que estoy haciendo mal ?

Gracias !

OriginalEl autor Alban Dumouilla | 2013-08-07

3 Comentarios

  1. 18

    Agregar index index.php; En el bloque de servidor, si no funciona, entonces usted necesita para quitar la $uri/ porque no quiero hacer un autoindex on


    EDITAR: Acabo de notar que ya has resuelto tu problema, así que voy a añadir el razonamiento detrás de ella, la razón por la que usted necesita autoindex on; es porque sin ella nginx siga las try_files reglas,

    1. Comprueba si hay un archivo llamado /, y, por supuesto, se produce un error.
    2. Comprobar si existe un directorio llamado / (mediante la adición de raíz sería = /www/blog/), esta comprobación tendrá éxito, por lo que trata a la lista el contenido de la carpeta.
    3. Ya no especificar autoindex on; por defecto, nginx debe prohibir el listado de directorios, por lo que devolvería un error 403 forbidden.
    4. El resto de la obra bien porque falla la $uri/ prueba o no llegar a ella, porque usted probablemente no tiene una carpeta llamada image.jpg o stylesheet.css etc.

    OriginalEl autor Mohammad AbuShady

  2. 1

    Parece que lo necesitaba en efecto index.php en el servidor {} definición y no en la ubicación {}

    lol acabo de dar cuenta que respondieron que ya después me respondió, no se dio cuenta, Supongo que voy a editar mi respuesta a explicar por qué.

    OriginalEl autor Alban Dumouilla

  3. 0

    Parece que no está permitiendo que los argumentos para ser enviados a la CMS para que esto no mostrar este uris que llevaría a la información de la base de datos y redirigir a la página 403.

    No estoy seguro de lo que quieres decir, yo soy el envío de los argumentos a través de ?$args ?

    OriginalEl autor Joe Walker

Dejar respuesta

Please enter your comment!
Please enter your name here