配置nginx里url rewrite的时候,为了使浏览器地址栏的URL保持不变,
使用proxy_pass反向代理,但发现每次都会生成新的jsessionid
解决方法,配置中增加
proxy_cookie_path /two/ /;
官网说明如下:
Syntax: | proxy_cookie_path proxy_cookie_path |
---|---|
Default: |
proxy_cookie_path off; |
Context: | http , server , location |
This directive appeared in version 1.1.15.
Sets a text that should be changed in the path
attribute of the “Set-Cookie” header fields of a proxied server response. Suppose a proxied server returned the “Set-Cookie” header field with the attribute “path=/two/some/uri/
”. The directive
proxy_cookie_path /two/ /;
will rewrite this attribute to “path=/some/uri/
”.
The path
and replacement
strings can contain variables:
proxy_cookie_path $uri /some$uri;
The directive can also be specified using regular expressions. In this case, path
should either start from the “~
” symbol for a case-sensitive matching, or from the “~*
” symbols for case-insensitive matching. The regular expression can contain named and positional captures, and replacement
can reference them:
proxy_cookie_path ~*^/user/([^/]+) /u/$1;
There could be several proxy_cookie_path
directives:
proxy_cookie_path /one/ /; proxy_cookie_path / /two/;
The off
parameter cancels the effect of all proxy_cookie_path
directives on the current level:
proxy_cookie_path off; proxy_cookie_path /two/ /; proxy_cookie_path ~*^/user/([^/]+) /u/$1;