https 전용 사이트를 제공하기 위해 nginx를 리버스 프록시로 사용하고 있습니다. 따라서이 사이트의 쿠키가 안전한 것으로 표시되기를 원합니다. 그러나 백엔드 서버는 http 서버이므로 보안 플래그를 쿠키로 설정하지 않습니다. 보안 플래그를 추가하기 위해 Set-Cookie 헤더를 수정하려면 어떻게해야합니까?
답변
nginx 프록시가 백엔드에서 생성 한 쿠키를 수정하고 보안 플래그를 설정하도록 할 수 있습니다. 영감을 얻으 려면 nginx 리버스 프록시에서 Set-Cookie의 도메인 부분을 다시 쓰는 방법을 참조하십시오 . .
그러나 보안 플래그를 설정하기 위해 백엔드에서 쿠키를 생성하는 것이 무엇이든 더 나은 솔루션이라고 생각합니다. 그렇게하는 방법은 또 다른 이야기 (또는 질문)입니다.
답변
다음 nginx 구성 코드를 사용합니다.
# make cookie secure (case sensitive)
proxy_cookie_domain ~(?P<secure_domain>([-0-9a-z]+\.)?[-0-9a-z]+\.[a-z]+)$ "$secure_domain; secure";
이것을 동적으로 만드는 정규 표현식 대신 FQDN을 사용할 수 있습니다.
답변
이것은 나를 도와줍니다 :
proxy_cookie_path / "/; secure";
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path를 참조 하십시오.