前言
目前存在的问题?
调用接口的时候报了我个“403权限不足”
下面我们分析为什么会存在该问题。
为什么会出现此问题?
系统内调用一个接口,一开始返回404,发现ipA写错了,换做ipB的时候,要求在请求头传个token字段过去才可调通,调用的时候发现返回”权限不足“,疯狂call后端大佬。
对此进行分析:
目前有一个好消息:那就是不会返回404。证明接口是对的
坏消息是:转返回403,分析一波,是不是nginx转发错了
location /wcs/stu/ {
proxy_pass http://47.44.20.200/;
}
复制代码
去掉/
试试?
即:proxy_pass http://47.44.20.200
Success!
解决方案
去掉/
,即可。
代码如下
location /wcs/stu/ {
proxy_pass http://47.44.20.200;
}
复制代码
恶补知识
Nginx
将proxy_pass
分两种
- 不带URI方式 :只包含ip和端口号(端口之后的/也没有)
- eg:
proxy_pass http://localhost:8080
- eg:
- 带URI方式 : 端口号之后有其他路径的
-
eg:
proxy_pass http://localhost:8080/abc
-
栗子如下:
不带URI方式 : nginx将会保留location中路径部分
location /api1/ {
proxy_pass http://localhost:8080;
}
在访问http://localhost/api1/xxx时,会代理到http://localhost:8080/api1/xxx
复制代码
对于带URI方式,nginx将使用诸如alias的替换方式对URL进行替换,并且这种替换只是字面上的替换
location /api2/ {
proxy_pass http://localhost:8080/;
}
当访问http://localhost/api2/xxx时,http://localhost/api2/
(注意最后的/)被替换成了。
http://localhost:8080/,然后再加上剩下的xxx,于是变成了http://localhost:8080/xxx
复制代码
知识点
Nginx
参考文献
以往推荐
vue-typescript-admin-template后台管理系统
原文链接
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END