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