Nel proxy inverso nginx, come impostare il flag sicuro per i cookie?


12

Sto usando nginx come proxy inverso per servire un sito solo https. Quindi voglio che i cookie per questo sito siano contrassegnati come sicuri. Ma il server back-end è uno http quindi non imposterà il flag sicuro sui suoi cookie. Come posso modificare l'intestazione Set-Cookie in risposta per aggiungere un flag sicuro?


Chiesto e risposto su SO. Vedere così per esempio nginx per Tomcat7: stackoverflow.com/questions/19916906/...
Joseph Lust

1
Tale sostituzione non è attualmente possibile, ma esiste un problema / ticket relativo a proxy_cookie_secure: trac.nginx.org/nginx/ticket/368 Tuttavia non è ancora implementato (e il problema è vecchio).
rugk,

Questo modulo di terze parti potrebbe aiutarti.
Airis,

Risposte:


4

Potresti riuscire a far modificare al tuo proxy nginx i cookie creati dal back-end e impostare il flag sicuro - per ispirazione vedi Come riscrivere la parte del dominio di Set-Cookie in un proxy inverso nginx? .

Tuttavia, immagino che ottenere qualsiasi cosa stia creando il cookie sul back-end per impostare il flag sicuro sarà una soluzione migliore. Come lo fai è un'altra storia (o domanda :).


4
Potrebbe aiutarti a impostare l' X-Forwarded-Protointestazione e assicurarti che sia interpretato dalla tua applicazione. Questa è una tecnica comune e consente anche alle applicazioni miste http / https di reagire correttamente in base al protocollo.
Lukas,

4

Uso il seguente codice di configurazione nginx:

# make cookie secure (case sensitive)
proxy_cookie_domain ~(?P<secure_domain>([-0-9a-z]+\.)?[-0-9a-z]+\.[a-z]+)$ "$secure_domain; secure";

Invece di regex per renderlo dinamico, puoi ovviamente usare il nome di dominio completo.


È solo una risposta o sia richiesta che risposta. Quando il client invia una richiesta con il set di flag sicuro, nginx lo spoglia in modo che il server Web non si lamenta?
Tigran,

I client non rispediscono il flag di sicurezza Cookienell'intestazione.
r_3,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.