Welcome! Log In Create A New Profile

Advanced

Способы борьбы с nginx cache pollution

Gena Makhomed
November 26, 2021 02:18PM
Здравствуйте, All!

Можно ли настроить nginx + njs таким образом, чтобы некоторые
get-параметры он вырезал из запроса перед передачей их на backend?

например,

?utm_source=instagram&utm_medium=hipolink&utm_campaign=slidebutton
?gclid=CjwKCAiAqIKNBhAIEiwAu_ZLDrzAZL_PrmbGRP-cyi5liGx-lMu3oapGZ
?fbclid=PAAaYJCb3hTyRmuCIZaobrn3WTbdwhYZq2c6oXVoHCqB1fcRj18jJCqS

и т.п.

backend - это php-fpm, доступ через сокет:

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

видел как это программируют на конфигах nginx с помощью директивы map:

https://serverfault.com/a/1062189

- но это наверное есть не самый оптимальный способ?

может быть кто-то это уже делал с помощью njs
и может поделиться примером кода?

С другой стороны - feature эта полезная будет всем,
кто пользуется nginx cache, поэтому может быть имеет смысл
запрограммировать эту feature прямо на C и сделать доступной
конфигурированию с помощью директив в конфиге, например,

fastcgi_cache_ignore_args utm_* gclid fbclid;

эти utm_* gclid fbclid и им подобные
ощутимо уменьшают эффективность кеша nginx.

MISS /pagination/collection/sale?fbclid=PAAabJiB...
MISS /collection/sale?gclid=CjwKCAiAqIKNBhAEiwAu...

--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Способы борьбы с nginx cache pollution

Gena Makhomed November 26, 2021 02:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 106
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready