【发布时间】:2018-11-30 04:13:14
【问题描述】:
在 nginx 上,我需要检查客户端是否有 jsessionid cookie,然后将所有内容按原样代理到 tomcat,但如果没有 cookie,则从标头 x-auth-token 中获取值并将其设置为 jsessionid cookie,然后代理一切到tomcat。
【问题讨论】:
标签: tomcat nginx url-rewriting session-cookies
在 nginx 上,我需要检查客户端是否有 jsessionid cookie,然后将所有内容按原样代理到 tomcat,但如果没有 cookie,则从标头 x-auth-token 中获取值并将其设置为 jsessionid cookie,然后代理一切到tomcat。
【问题讨论】:
标签: tomcat nginx url-rewriting session-cookies
试试这个:
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>;
【讨论】: