<div dir="ltr"><div>Убирайте if</div><div>в значение Access-Control-Allow-Origin подставляйте переменную из map, например</div><div>map $http_origin $cors {</div><div>  default '';</div><div>  ~^https?://<a href="http://mydomain.com">mydomain.com</a>$ $http_origin;</div><div>}</div><div>server {<br></div><div>  ...<br></div><div>  location / {</div><div>    ...</div><div>    add_header Access-Control-Allow-Origin $cors;<br></div><div>  }</div><div>}<br></div><div><br></div><div>в случае пустой строки в переменной - заголовок не будет добавляться в ответ.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">сб, 3 дек. 2022 г. в 13:50, Илья Шипицин <<a href="mailto:chipitsine@gmail.com">chipitsine@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">привет!<div><br></div><div>берем nginx-1.23.2</div><div>задача - проксировать на fastcgi только реально существующие на файловой системе файлы (чтобы всякие сканы типа /xmlrpc.php не отправлялись бы на fastcgi).</div><div><br></div><div><br></div><div>классическое решение (работает)</div><div><br></div><div><div>        location / {</div><div>                try_files $uri =404;</div><div>                fastcgi_pass unix:/run/php/php7.4-fpm.sock;</div><div><br></div><div>                fastcgi_index  index.php;</div><div>                fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;</div><div>                fastcgi_intercept_errors on;</div><div><br></div><div>                include fastcgi_params;</div><div>        }</div></div><div><br></div><div><br></div><div>однако try_files перестает решать задачу, если мы добавляем if (чуть упрощенный конфиг, просто для иллюстрации) - даже несуществующие файлы отправляются на fastcgi</div><div><br></div><div><div>        location / {</div><div>                try_files $uri =404;</div><div>                fastcgi_pass unix:/run/php/php7.4-fpm.sock;</div><div><br></div><div>                fastcgi_index  index.php;</div><div>                fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;</div><div>                fastcgi_intercept_errors on;</div><div><br></div><div>                include fastcgi_params;</div><div><br></div><div>               set $cors "true";</div><div><br></div><div>               if ($cors = "true") {</div><div>                       add_header 'Access-Control-Allow-Origin' "$http_origin";</div><div>               }</div><div>        }</div></div><div><br></div><div><br></div><div><br></div><div>можно ли как-то во втором случае вернуть прежнее поведение try_files ?</div><div><br></div><div>Илья Шипицин</div><div><br></div><div><br></div></div></div></div>
_______________________________________________<br>
nginx-ru mailing list -- <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
To unsubscribe send an email to <a href="mailto:nginx-ru-leave@nginx.org" target="_blank">nginx-ru-leave@nginx.org</a><br>
</blockquote></div>