Убирайте 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, Илья Шипицин <chipits...@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-le...@nginx.org >
_______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org