nginx配置中 location和proxy_pass 后面的url 加与不加/的区别

一般我们通过location /拦截请求,通过proxy_pass反向代理转发到指定URL

如果test后不带/ 表示会拦截 如:/test /test01 /testxxxxx 这一类请求,只要是以test开头的请求都会被拦截

location /test{
		rewrite ^.+/test/?(.*)$ /$1 break;
		include uwsgi_params;
		proxy_pass http://127.0.0.1:8080;
}

如果test后带/ 表示只会拦截/test 或者/test/xxxx等相关请求

location /test/{
		rewrite ^.+/test/?(.*)$ /$1 break;
		include uwsgi_params;
		proxy_pass http://127.0.0.1:8080;
}

proxy_pass 后面的url带/ 和 不带/ 区别

如果URL后不带/ ,输入www.xuxu4.com/test 相当于被代理到 www.xuxu4.com/test/

location /test{
		rewrite ^.+/test/?(.*)$ /$1 break;
		include uwsgi_params;
		proxy_pass http://127.0.0.1:8080;
}

如果URL后带/ ,输入www.xuxu4.com/test 相当于被代理到 www.xuxu4.com/ 请求时候得带上test才能被拦截

location /test{
		rewrite ^.+/test/?(.*)$ /$1 break;
		include uwsgi_params;
		proxy_pass http://127.0.0.1:8080/;
}

nginx代理造成session的id每次都不一致的问题

如果访问路径与nginx代理的实际路径不一致的话,会丢弃从浏览器中带过来的cookie,例:

实际路径

	 http://192.168.1.1:8080/api

访问路径

	 http://127.0.0.1:8090/baidu/api

每次session的id都不一致 需要在nginx配置中加上下面配置:

	#路径改变需要添加cookie代理配置
	proxy_cookie_path /api /baidu/api; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值