nginx php-fpm index.php não carrega

2

Eu tenho uma configuração bem simples com nginx e php-fpm, no entanto, quando tento acessar meu site com my-website.com , recebo um erro 403 proibido. Se eu acessar my-website.com/index.php , tudo funciona bem. Isso é o que está aparecendo no meu log:

a.ipv4.addr.here - user  [14/Dec/2013:11:46:41 +0100] "GET / HTTP/1.1" 403  192 "https://my-website.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36"

Esta é a saída de ls -l do diretório htdocs:

drwxr-xr-x 14 www-data www-data 4.0K Dec 12 16:02 htdocs

Estou realizando um http-redirect para https para forçar ssl, aqui está a configuração:

server {
        listen 80;
        listen [::]:80;

        root /var/www/my-domain.com/htdocs/;
        index index.php index.html index.htm /index.php;

        server_name my-domain.com;
        rewrite     ^   https://$server_name$request_uri? permanent;

}

E aqui está a configuração do servidor na porta 443:

server {
        listen 443;
        listen [::]:443;
        server_name my-domain.com;

        root /var/www/my-domain.com/htdocs/;
        index   index.php index.html /index.php;

        access_log /var/log/nginx/my-domain.log;
        ssl on;
        ssl_certificate /etc/ssl/certs/my-domain.com.crt;
        ssl_certificate_key /etc/ssl/private/my-domain.com.key;

        ssl_session_timeout 5m;

        ssl_protocols SSLv3 TLSv1;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
        ssl_prefer_server_ciphers on;

        location / {
                try_files $uri $uri/ =404;
                auth_basic              "Restricted:";
                auth_basic_user_file    .htpasswd;
        }


        location ~ \.php$ {

                 auth_basic              "Restricted:";
                 auth_basic_user_file    .htpasswd;
                 fastcgi_pass unix:/var/run/php5-fpm.sock;
                 fastcgi_index index.php;
                 include fastcgi_params;
        }
        #deny access on dotfiles
        location ~ /\. {
                 deny  all;
        }

}

E aqui está a saída ls -l para o index.php:

-rwxr-x--x 1 www-data www-data 2.4K Dec 12 11:11 index.php
    
por Momo 14.12.2013 / 11:59

1 resposta

1

Adicione index index.php ao seu bloco location / , ou o nginx não saberá que você está tentando exibir index.php por padrão.

A opção fastcgi_index não ajuda, pois só é considerada se o URI terminar em .php ...

    
por 14.12.2013 / 12:32