nginx rewrite 导致验证码不正确

配置nginx里url rewrite的时候,为了使浏览器地址栏的URL保持不变,

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

解决方法,配置中增加

proxy_cookie_path /two/ /;

官网说明如下:
Syntax: proxy_cookie_path off;
proxy_cookie_path path replacement;
Default:
proxy_cookie_path off;
Context: httpserverlocation

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;
时间: 2024-10-25 05:37:33

nginx rewrite 导致验证码不正确的相关文章

thinkphp nginx php-fpm url rewrite 导致 404 错误

thinkphp nginx php-fpm url rewrite 导致 404 错误 之前thinkphp的系统部署在apache上,考虑到在并发性能nginx比apache强悍得多,所以在centos上以 nginx+php-fpm模式重新部署了thinkphp系统,结果发现诸如 1 /index.php/home/user/verify 此类的url nginx会报404错误,但是改成 1 /index.php?s=/home/user/verify 之后却能够访问,这说明前一种url

nginx rewrite规则语法

在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑的是Nginx,主要是因为Nginx的速度比Apache要快很多. 但是另一方面就不是那么舒服了,因为Nginx的rewrite跟Apache不同,而且是在服务器上面才能更改. 下面是其间的一些研究笔记.(以下用例如无特别说明均摘自nginx wiki) /1 Nginx rewrite基本语法 N

Nginx Rewrite详解

引用链接:http://blog.cafeneko.info/2010/10/nginx_rewrite_note/ 原文如下: 在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑的是Nginx,主要是因为Nginx的速度比Apache要快很多. 但是另一方面就不是那么舒服了,因为Nginx的rewrite跟Apache不同,而且是在服务器上面才能

nginx——rewrite模块

1.什么是Nginx的Rewrite规则? Rewrite主要的功能就是实现URL的重写,Nginx的Rewrite规则采用PCRE(Perl Compatible Regular Expressions)Perl兼容正则表达式的语法进行规则匹配,如果 您需要Nginx的Rewrite功能,在编译Nginx之前,须要编译安装PCRE库. 通过Rewrite规则,可以实现规范的URL,根据变量来做URL转向及选择配置. (1)一些使用MVC框架的程序只有一个入口,可以通过Rewrite来实现. (

nginx rewrite php的CI(CodeIgniter)框架

一. 了解nginx rewrite: 正则表达式匹配,其中: * ~ 为区分大小写匹配    * ~* 为不区分大小写匹配    * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中: * -f和!-f用来判断是否存在文件    * -d和!-d用来判断是否存在目录    * -e和!-e用来判断是否存在文件或目录    * -x和!-x用来判断文件是否可执行 flag标记有: * last 相当于Apache里的[L]标记,表示完成rewrite    * bre

Nginx Rewrite规则记录

Rewrite 是一种服务器的重写脉冲技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术.它还可以实现限制特定IP访问网站的功能.很多情况下,某个 IP 的访问很容易造成 CPU 100% (比如 某些搜索引擎的固定抓取,别人大量的采集站点),这个时候我们就要利用一些有效的手段封掉对方的 IP,让他无法消耗服务器的资源,封 IP 的方法有很多种,如果你的 Web(Nginx|Apache|other) 服务器安装了 Rewrite 模块的话,也可以试试利用 Rewrite

[转] nginx rewrite 中brake last 区别

在使用nginx重写(即rewrite)机制时,大家一般会用到last和break,关于这两个指令的作用,网友问的挺多,网上的讨论也挺多,这里做个总结: 网友的给力解释: last: 重新将rewrite后的地址在server标签中执行 break: 将rewrite后的地址在当前location标签中执行 nginx官方解释: last:     stops processing the current set of ngx_http_rewrite_module directives fol

ThinkPHP(SAE)调用验证码不能正确调用验证码

现在,将官网的方法贴出: SAE下使用ThinkPHP验证码,非SaeVcode SaeVcode其实很弱弱,连验证码的尺寸都不能设置,对于开发和美工来说,是件很头痛的事情,经过我们技术员简单测试,发现ThinkPHP自带的验证码是可以在SAE下正常运行的. 1.将“ThinkPHP\Extend\Library\ORG\Util\String.class.php”拷贝至“ ThinkPHP\Extend\Engine\Sae\Lib\Extend\Library\ORG\Util\String

织梦后台登陆不上提示验证码不正确

1.密码明明正确的,却无法登陆后台管理 解答: 此外,不管是新人,还是phper,都要注意的是:用户名和密码只能由 [a-z A-Z - _ @ .] 这些字符组成,不能是中文或其它的符号. 2.验证码明明正确的,就是提示验证码不正确,而无法登陆后台. 解答:我就清空了一下cookies和IE临时文件夹,就可以,如果不行,看下面. 通过FTP进入根目录 修改/data/safe下的inc_safe_config.php 把$safe_gdopen值中的6去掉在登陆后台的时候就不会出现验证码了 比