Я использую nginx в качестве обратного прокси для обслуживания сайта только с https. Поэтому я хочу, чтобы файлы cookie для этого сайта были отмечены как безопасные. Но внутренний сервер является HTTP-сервером, поэтому он не будет устанавливать флаг безопасности для своих файлов cookie. Как я могу изменить заголовок 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";
Вместо регулярного выражения, чтобы сделать это динамическим, вы, конечно, можете использовать полное доменное имя.
Возможно, вы сможете заставить свой прокси-сервер nginx изменить файлы cookie, созданные серверной частью, и установить флаг безопасности - для вдохновения см. Как переписать доменную часть Set-Cookie в обратном прокси-сервере nginx?.
Однако я бы предположил, что получение того, что создает файл cookie на бэкэнде для установки флага безопасности, будет лучшим решением. Как вы это делаете - отдельная история (или вопрос :).
Это поможет мне:
proxy_cookie_path / "/; secure";
Видеть http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path