¿Hay alguna manera de escribir los parámetros de consulta como cookie en nginx?

¿Hay alguna manera de escribir los parámetros de consulta como cookie en nginx?

Me gustaría preguntar si hay alguna manera de configurar los parámetros de consulta como la cookie de una determinada URL.

Actualmente tengo problemas con el barniz y nginx porque estaba eliminando los parámetros utm, lo que causa un problema con el GA. No puedo eliminar el código que elimina los parámetros utm ya que inundaría el caché de barniz. Entonces estaba pensando en obtener los parámetros utm y configurarlos como cookie desde la configuración de nginx.

Cualquier ayuda sería apreciada

Muchas gracias

Respuesta1

Puede eliminar fácilmente los parámetros de URL de marketing de Google de la URL que Varnish obtiene del backend, comodescrito aquí:

if (req.url ~ "(\?|&)(gclid|utm_[a-z]+)=") {
    set req.url = regsuball(req.url, "(gclid|utm_[a-z]+)=[-_A-z0-9+()%.]+&?", "");
    # remove trailing question mark and ampersand from URL
    set req.url = regsub(req.url, "[?|&]+$", "");
}

Esto debe implementarse en la vcl_recvrutina de configuración de Varnish. De esta manera, la URL que ve permanece intacta en el navegador (lo cual es importante para Google Analytics), pero Varnish solicitará y almacenará en caché en función de la URL normalizada sin esos parámetros (para backend, por ejemplo, PHP, esos parámetros se pueden descartar).

información relacionada