» »

Nginx ne pošlje vseh HTTP headerjev

Nginx ne pošlje vseh HTTP headerjev

Matthai ::

Postavil sem Nginx spletni strežnik, kjer v config datoteki pošljem določene HTTP headerje:

add_header X-Xss-Protection "1; mode=block" always;

add_header X-Frame-Options "SAMEORIGIN" always;

server {
    listen 80;

    server_name tralala;
...
...
}

server {
	listen 443 default_server ssl http2;

	server_name tralala;

	ssl on;
...
...
	add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
...
...
}


No, client dobi samo Strict-Transport-Security header, ostalih pa ne.

Kakšna ideja zakaj?
All those moments will be lost in time, like tears in rain...
Time to die.

JamesBond ::

Če bi pogledal v dokumentacijo kako se uporablja direktivo ne bi rabil spraševat (pa tudi drugače je očitno). Se pravi se headerji ne dedujejo v server bloku, ker imaš tam tudi add_header.

Syntax: add_header name value [always];
Default: --
Context: http, server, location, if in location
Adds the specified field to a response header provided that the response code equals 200, 201, 204, 206, 301, 302, 303, 304, 307, or 308. The value can contain variables.

There could be several add_header directives. These directives are inherited from the previous level if and only if there are no add_header directives defined on the current level.

SeMiNeSanja ::

Katerikoli klient?

Direktno povezan klient ali kakšen remote klient na drugi lokaciji?

Headerje lahko režejo požarne pregrade (jaz pomečem ven večino, ki niso nujno potrebni za delovanje), lahko pa to počne tudi kakšen AV proizvod na računalniku (v tem primeru bolj težko nadziraš, kaj se bo rezalo).

Si mogoče preveril z Wireshark-om ali čem podobnim, če ti headerji dejansko gredo ven? Toliko, da izključiš morebitne težave na samem serverju.

Očitno je le problem serverja, če drži, kar pravi JB....

Zgodovina sprememb…

Matthai ::

JamesBond je izjavil:

Če bi pogledal v dokumentacijo kako se uporablja direktivo ne bi rabil spraševat (pa tudi drugače je očitno). Se pravi se headerji ne dedujejo v server bloku, ker imaš tam tudi add_header.

Ne razumem kaj moram narediti.

Jih imeti samo v server bloku?

Ja, ugotovil. V istem bloku morajo biti.
All those moments will be lost in time, like tears in rain...
Time to die.

Zgodovina sprememb…

  • spremenil: Matthai ()

JamesBond ::

Ali pa vse zunaj, če jih rabiš povsod.

BaRtMaN ::

Uporaba direktive add_header v podrejenem (nižjem, notranjem) kontekstu izniči efekt iz nadrejenega konteksta. Efektivno moraš vedno na enem mestu dodati vse headerje, ki jih želiš.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Javascript DOM based XSS vulnerability

Oddelek: Programiranje
15743 (165) MrStein
»

Inline JS v HTML; varnost, XSS, ...

Oddelek: Programiranje
21541 (149) MrStein
»

Content-Security-Policy problem

Oddelek: Izdelava spletišč
5695 (512) Matthai
»

nginx proxy pokvari delovanje joomla strani

Oddelek: Izdelava spletišč
5447 (392) Lonsarg
»

Apache - localhost JA, IP naslov NE

Oddelek: Omrežja in internet
181923 (1782) ManDriver

Več podobnih tem