Подружить Symfony и nginx?

После включения конфигурации отсюда, заработало практически всё, кроме ограничения доступа к админке, находящейся по адресу имя_сайта/admin.



В Apache это реализовано через admin/.htaccess:

AuthType Basic

AuthName «Restricted access»

AuthUserFile /etc/httpd/htpasswd/sitename

Require user admin manager



Order Deny,Allow

Deny from all

Allow from 192.168.0.0/24


Пытаюсь сделать по аналогии через location (для начала хватит только ограничения по IP):

location /admin {

rewrite ^(.*) /admin/index.php$1 last;

allow 192.168.0.0/24;

deny all;

}


Но в этом случае не передаётся лишь статика, а контент, создаваемый PHP, доступен всему интернету.
  • Вопрос задан
  • 5427 просмотров
Решения вопроса 1
UncleByte
@UncleByte
По-хорошему конфиг из приведенной ссылки нужно переписать с учетом рекомендаций отсюда — wiki.nginx.org/Pitfalls
В этом случае не понадобится указывать ничего в location /admin кроме, собственно, настроек доступа.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
UncleByte
@UncleByte
Я бы вот эту часть все-таки переписал бы
location ~ \.php$ {
        try_files $uri index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
	fastcgi_index index.php;
	fastcgi_intercept_errors on;
	fastcgi_read_timeout 600;
	fastcgi_send_timeout 600;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_param SCRIPT_NAME $fastcgi_script_name;
	fastcgi_param QUERY_STRING $args;
    }

То есть без установки дополнительных переменных.
Ответ написан
UncleByte
@UncleByte
А можно посмотреть какого вида там вообще uri бывают? Просто чтоб понять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы