Ich verwende nginx als Reverse-Proxy, um eine Nur-https-Site bereitzustellen. Daher möchte ich, dass die Cookies für diese Website als sicher gekennzeichnet werden. Der Backend-Server ist jedoch ein http-Server, sodass das Sicherheitsflag für seine Cookies nicht gesetzt wird. Wie kann ich den Set-Cookie-Header ändern, um ein sicheres Flag hinzuzufügen?
nginx
reverse-proxy
Tianyi Cui
quelle
quelle
proxy_cookie_secure
: trac.nginx.org/nginx/ticket/368. Es ist jedoch noch nicht implementiert (und das Problem ist alt).Antworten:
Möglicherweise können Sie Ihren Nginx-Proxy dazu bringen, die vom Backend erstellten Cookies zu ändern und das sichere Flag zu setzen. Inspiration finden Sie unter So schreiben Sie den Domain-Teil von Set-Cookie in einen Nginx-Reverse-Proxy um. .
Ich würde mir jedoch vorstellen, dass es eine bessere Lösung ist, alles zu bekommen, was das Cookie im Backend erstellt, um das sichere Flag zu setzen. Wie du das machst, ist eine andere Geschichte (oder Frage :).
quelle
X-Forwarded-Proto
Header festzulegen und sicherzustellen, dass er von Ihrer Anwendung interpretiert wird. Dies ist eine gängige Technik und ermöglicht es gemischten http / https-Anwendungen, basierend auf dem Protokoll richtig zu reagieren.Ich verwende den folgenden Nginx-Konfigurationscode:
Anstelle des regulären Ausdrucks, um dies dynamisch zu machen, können Sie natürlich den vollqualifizierten Domänennamen verwenden.
quelle
Cookie
Header nicht zurück.