Способы борьбы с nginx cache pollution
Gena Makhomed
gmm на csdoc.com
Пт Ноя 26 19:16:10 UTC 2021
Здравствуйте, 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