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

Илья Шипицин chipitsine на gmail.com
Сб Дек 3 14:09:27 UTC 2022


так, пожалуй, и сделаю.

сб, 3 дек. 2022 г. в 15:59, Maxim K <rogat1y на gmail.com>:

> Убирайте 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
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20221203/0c854be8/attachment.htm>


Подробная информация о списке рассылки nginx-ru