Nginx 403 запрещает использование хороших прав, установленных для файлов

Я пытаюсь использовать подпапку для хранения веб-приложений на моем сервере. Например : example.com/netdata ===> Мониторинг Netdata example.com/passbolt ====> Менеджер паролей и т. д.

Для того, чтобы все работало, я использовал эту конфигурацию:

#Passbolt
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;

    allow all;
    root /var/www/html/;
    server_name passbolt.local;

    location /passbolt/ {   
        alias /var/www/html/passbolt/app/webroot/;
        try_files $uri $uri/ /index.php?$args;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

    }


}

Но у меня всегда возникала ошибка запрета 403, поэтому я проверял разрешения для каждого файла, но все они принадлежат www-data, который пользователь моего сервера nginx ..

Я использую Debian 8.

Кто-нибудь может мне помочь?

РЕДАКТИРОВАТЬ 1: в журнале появилась эта ошибка:

2017/04/24 16:07:08 [error] 28301#0: *2 directory index of "/var/www/html/passbolt/app/webroot/" is forbidden, client: 192.168.122.1, server: passbolt.local, request: "GET /passbolt/ HTTP/1.1", host: "passbolt.local"
1
задан 24 April 2017 в 17:09
2 ответа

Хорошо, я нашел решение. Мои приложения работают с cakephp, и с этим фреймворком вам нужно позаботиться о перезаписи URL-адресов и других подобных вещах.

Вот моя конфигурация в Nginx для работы:

#Passbolt
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;

    root /var/www/html/;
    server_name passbolt.local;

    location /passbolt {    
         if (-f $request_filename) {
                    break;
            }

            # Avoid recursivity
            if ($request_uri ~ /webroot/index.php) {
                    break;
            }

            rewrite ^/passbolt$ /passbolt/ permanent;
            rewrite ^/passbolt/app/webroot/(.*) /passbolt/app/webroot/index.php?url=$1 last;
            rewrite ^/passbolt/(.*)$ /passbolt/app/webroot/$1 last;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        }

    }
}

Большое спасибо за помощь!

0
ответ дан 3 December 2019 в 23:31

Добавьте это:

  location / {
    index index.htm index.html index.php index.py index.cgi index.sh;
  }

http://nginxlibrary.com / enable-directory -isting /

1
ответ дан 3 December 2019 в 23:31

Теги

Похожие вопросы