Папка Denying в Nginx, заставляющем PHP-FPM не иметь приоритет

Команды 'tar' и 'площадь' очень, очень стары и предшествуют конвенции с помощью тире.

5
задан 14 February 2012 в 17:08
2 ответа

Наконец-то нашел ответ. Когда вы делаете что-то подобное, вам нужно повторно объявить настройки PHP-FPM (все, что было в блоке location ~ \ .php $ {(this code)} .

Итак, чтобы избежать избыточности, я поместил эти значения в другой файл, и у меня осталось что-то вроде этого:

server {

        # pass the PHP scripts to FastCGI server listening on UNIX socket
        location ~ \.php$ {
                include /etc/nginx/fastcgi_php_text;
        }

        location / {
                index index.php;
        }

        location ^~/folder/ {
                deny all;
                allow ...;

                include /etc/nginx/fastcgi_php_text;
        }
}

Не знаю, лучший ли это способ сделать это, но это единственный способ, который я понял.

3
ответ дан 3 December 2019 в 01:46

Вы также можете попробовать определить блок местоположения с помощью @name и сослаться на него. Со страницы nginx Pitfalls

server {

        location ~ \.php$ {
            try_files      @fascgi;
        }

        location ^~ /folder {
            deny           all;
            allow          127.0.0.1;
            location ~ \.php$ {
                try_files  @fascgi;
            }
        }

        location @fascgi {
            fastcgi_pass   127.0.0.1:9000;
            include        fastcgi_params;
        }

}
1
ответ дан 3 December 2019 в 01:46

Теги

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