在 nginx 上,我需要检查客户端是否有 jsessionid cookie,然后按原样将所有内容代理到 tomcat,但如果没有 cookie,则从 header x-auth-token 中获取值并将其设置为 jsessionid cookie,然后将所有内容代理到 tomcat。
最佳答案
试试这个:
location / {
if ($cookie_JSESSIONID = "") {
add_header Set-Cookie JSESSIONID=$http_x_auth_token;
}
proxy_pass <proto://tomcat_server_address:port>;
}
如果你的tomcat域与site域不同,你可能需要在proxy_pass
参数前添加额外的参数:
proxy_set_header Host <tomcat_domain>;
proxy_cookie_domain <tomcat_domain> <site_domain>;
关于tomcat - Nginx - 如何从 header 中获取值并将其设置到 cookie 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53542525/