您的位置:首页 > 运维架构 > Nginx

nginx rewrite 导致验证码不正确

2016-01-07 10:56 633 查看
配置nginx里url rewrite的时候,为了使浏览器地址栏的URL保持不变,

使用proxy_pass反向代理,但发现每次都会生成新的jsessionid

解决方法,配置中增加

proxy_cookie_path /two/ /;

官网说明如下:

Syntax:
proxy_cookie_path 
off
;

proxy_cookie_path 
path
[code]replacement
;[/code]
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;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: