cookie-flag: Módulo de bandera de cookies de NGINX
Requiere el plan Pro (o superior) de la suscripción GetPageSpeed NGINX Extras.
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-cookie-flag
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-cookie-flag
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_cookie_flag_filter_module.so;
Este documento describe nginx-module-cookie-flag v1.2.1 lanzado el 06 de febrero de 2026.
Un módulo de NGINX que añade automáticamente las banderas HttpOnly, secure y SameSite a los encabezados de respuesta Set-Cookie de los servidores upstream. Refuerza la seguridad de las cookies en una línea de configuración — no se requieren cambios en el código de la aplicación.
Un reemplazo directo para el abandonado nginx_cookie_flag_module, con correcciones de seguridad de memoria y soporte completo para SameSite=None.
Inicio Rápido
Instalación RPM (RHEL/CentOS/AlmaLinux/Rocky)
sudo yum install https://extras.getpagespeed.com/release-latest.rpm
sudo yum install nginx-module-cookie-flag
Luego carga el módulo en /etc/nginx/nginx.conf:
load_module modules/ngx_http_cookie_flag_filter_module.so;
Directiva
set_cookie_flag
| Sintaxis | set_cookie_flag <cookie_name\|*> [HttpOnly] [secure] [SameSite\|SameSite=Lax\|SameSite=Strict\|SameSite=None]; |
| Predeterminado | — |
| Contexto | server, location |
Añade las banderas de seguridad especificadas al encabezado de respuesta Set-Cookie de la cookie nombrada. Las banderas no son sensibles a mayúsculas. Las banderas existentes nunca se duplican.
Usa * como el nombre de la cookie para aplicar las banderas a todas las cookies que no tienen una regla más específica.
Ejemplos
# Asegurar una cookie de sesión
set_cookie_flag SessionID HttpOnly secure SameSite=Lax;
# Marcar una cookie de sitio cruzado (requiere secure según la especificación de Chrome)
set_cookie_flag TrackingID SameSite=None secure;
# Predeterminado: hacer que cada cookie sea HttpOnly
set_cookie_flag * HttpOnly;
# Combinar múltiples directivas para un control granular
location /app {
set_cookie_flag AppSession HttpOnly secure SameSite=Strict;
set_cookie_flag Preferences SameSite=Lax;
set_cookie_flag * HttpOnly;
}
Banderas Soportadas
| Bandera | Descripción |
|---|---|
HttpOnly |
Previene el acceso de JavaScript a través de document.cookie |
secure |
Cookie enviada solo a través de HTTPS |
SameSite |
Atributo SameSite básico (comportamiento predeterminado del navegador) |
SameSite=Lax |
Cookie enviada en navegaciones de nivel superior y solicitudes del mismo sitio |
SameSite=Strict |
Cookie enviada solo en solicitudes del mismo sitio |
SameSite=None |
Cookie enviada en todas las solicitudes de sitios cruzados (requiere secure) |