Nginx-如何从标头中获取值并将其设置为Cookie?

时间:2018-11-29 15:36:06

标签: tomcat nginx url-rewriting session-cookies

在nginx上,我需要检查客户端是否具有jsessionid cookie,然后将所有内容按原样代理给tomcat,但是如果没有cookie,则从标头x-auth-token取值并将其设置为jsessionid cookie,然后将所有内容都代理到tomcat。

1 个答案:

答案 0 :(得分:0)

尝试一下:

location / {
    if ($cookie_JSESSIONID = "") {
        add_header Set-Cookie JSESSIONID=$http_x_auth_token;
    }
    proxy_pass <proto://tomcat_server_address:port>;
}

如果您的tomcat域与站点域不同,则可能需要在proxy_pass参数之前添加其他参数:

proxy_set_header Host <tomcat_domain>;
proxy_cookie_domain <tomcat_domain> <site_domain>;