Ambiente:Nginx, Node.js, Gota oceánica digital
Los documentos para elagregar_encabezadoLa directiva indica que se puede utilizar en un http
contexto server
o location
.
Sin embargo, cuando agrego mipolítica-de-seguridad-de-contenidoal contexto o http
no server
se detecta cuando lo pruebo enhttps://csp-evaluator.withgoogle.com/ohttps://securityheaders.com/.
Cuando lo agrego a un location
bloque, ambos sitios lo detectan.
Encabezado de ejemplo:
add_header content-security-policy "default-src 'self';"
Mi nginx.conf
tiene 5 location
bloques, uno de los cuales se usa como proxy. ¿Necesito agregar content-security-policy
a cada bloque o hay una manera mejor?
location ~* \.(jpg|png|svg|webp|ico)$ { }
location ~* \.(css)$ { }
location ~* \.(htm|html)$ { }
location ~* \.(js)$ { }
location / {
proxy_pass http://127.0.0.1:9999;
}
¿También necesito agregar todos mis otros encabezados de seguridad principales a cada bloque? Parece redundante, pero si esa es la única forma de proteger el sitio, lo haré.
Respuesta1
La add_header
directiva tiene una propiedad interesante. Desde eldocumentación:
Podría haber varias
add_header
directivas. Estas directivas se heredan del nivel de configuración anterior si y sólo si no hayadd_header
directivas definidas en el nivel actual.
Esto significa que si estás agregandootroencabezados en uno de esos location
bloques, entonces cualquier add_header
directiva de los bloques server
o http
deberá repetirse.
Considere usar include
archivos d para organizar directivas como esta que quizás necesite repetir.