Re: условный CORS, if, try_files и fastcgi

2022-12-03 Пенетрантность Илья Шипицин
так, пожалуй, и сделаю.

сб, 3 дек. 2022 г. в 15:59, Maxim K :

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


Re: условный CORS, if, try_files и fastcgi

2022-12-03 Пенетрантность Maxim K
Убирайте 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, Илья Шипицин :

> привет!
>
> берем 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