Eu sei duas maneiras de fazer isso, nenhuma delas ótima. A primeira é apenas abusar proxy_cookie_path assim:
proxy_cookie_path / "/; secure";
O segundo é usar a diretiva more_set_headers do módulo Headers More como este:
more_set_headers 'Set-Cookie: $sent_http_set_cookie; secure';
Ambos podem causar problemas porque eles adicionam os itens às cegas. Por exemplo, se o upstream definir o sinalizador secure , você acabará enviando ao cliente uma duplicata como esta:
Set-Cookie: foo=bar; secure; secure;
e no segundo caso, se o aplicativo upstream não definir um cookie, o nginx enviará para o navegador:
Set-Cookie; secure;
Isso é doubleplusungood, é claro.
Eu acho que esse problema precisa ser corrigido como muitas pessoas perguntaram sobre isso. Na minha opinião, uma diretiva é necessária algo assim:
proxy_cookie_set_flags * HttpOnly;
proxy_cookie_set_flags authentication secure HttpOnly;
mas, infelizmente, isso não existe atualmente: (