Привет всем!
Есть сервис на php только бэкэнд. Работа происходит только через index.php.
Вот конфиг:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www;
index.php;
server_name _;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Работает отлично, но т.к. запрос необходим исключительно к index.php, хочется обезопасить всё остальное, находящиеся в /var/www, например change.log не должен быть доступен.
пытался из локаций оставить только одну, дабы сразу все запросы шли к php-fpm, без подгрузки статических файлов и т.д.
location / {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
но тогда запросы типа site.com/api/1/2/3 теряются - 404. А мне нужно, что-бы они тоже выходили на index.php.
Пытался убирать try_files, но тут тоже что-то пошло не так... не понял до конца..
Спасибо