nginx利用反向代理调试后台接口

1、location 支持配置项目的绝对路径

2、假设我们的后台API地址是以API开头,location ^~ /api/ 代表nginx将会拦截请求地址中包含"/api/"字样的请求,其实这就是我们的ajax请求路径,拦截到请求之后根据写法会分成两种情况把这个请求转发到 下面 proxy_pass 的地址上。

  举个例子:

a、如上图,如果proxy_pass 的URL以 / 结尾 ,那么请求转发的时候 将 不会 带上 匹配到的 /api/ ,也就是说如果 登录请求 URL是 localhost:60001/api/user/login,proxy_pass  URL 是 http://a.xx.com:8080/platform/, Nginx将会 把这个请求转发成 http://a.xx.com:8080/platform/user/login 

b、如果proxy_pass 的URL不以 / 结尾 ,那么请求转发的时候 将 会带上 匹配到的 /api/ ,也就是说如果 登录请求 URL是 localhost:60001/api/user/login,proxy_pass  URL 是 http://a.xx.com:8080/platform/, Nginx将会 把这个请求转发成 http://a.xx.com:8080/platform/api/user/login 

3、一般我们登录之后服务器会通过Set-Cookie把token写回到我们本地,如果不设置 proxy_cookie_path 的话,服务器Set-Cookie命令会失效,本地存不了cookie,从而导致token丢失。

这里proxy_cookie_path有一点需要注意的是 如果 proxy_pass  URL 是 http://a.xx.com:8080/platform/ 这种情况  proxy_cookie_path应该设置成 /platform/ / (注意两个斜杠之间有空格)。

如果 proxy_pass  URL 是 http://a.xx.com:8080/这种情况  proxy_cookie_path应该设置成 / / (注意两个斜杠之间有空格)

 

来自:http://blog.csdn.net/cjd6568358/article/details/51871039

转载于:https://www.cnblogs.com/note-blog/p/7576170.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值