привет!
берем nginx-1.23.2
задача - проксировать на fastcgi только реально существующие на файловой
системе файлы (чтобы всякие сканы типа /xmlrpc.php не отправлялись бы на
fastcgi).
классическое решение (работает)
location / {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$realpath_root$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
}
однако try_files перестает решать задачу, если мы добавляем if (чуть
упрощенный конфиг, просто для иллюстрации) - даже несуществующие файлы
отправляются на fastcgi
location / {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$realpath_root$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
set $cors "true";
if ($cors = "true") {
add_header 'Access-Control-Allow-Origin'
"$http_origin";
}
}
можно ли как-то во втором случае вернуть прежнее поведение try_files ?
Илья Шипицин
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-leave@nginx.org