Убирайте if
в значение Access-Control-Allow-Origin подставляйте переменную из map,
например
map $http_origin $cors {
default '';
~^https?://mydomain.com$ $http_origin;
}
server {
...
location / {
...
add_header Access-Control-Allow-Origin $cors;
}
}
в случае пустой строки в переменной - заголовок не будет добавляться в
ответ.
сб, 3 дек. 2022 г. в 13:50, Илья Шипицин <chipitsine@gmail.com>:
> привет!
>
> берем 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
>
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-leave@nginx.org