项目部署后,nginx拦截请求后无法通过后端服务security放行规则

209 阅读1分钟

本地代码部署到云服务上的时候,用nginx做代理实现前端代码访问后端服务不出现跨域问题,但是又出现了新问题,我nginx配置了拦截/api请求,链接到后端服务。

前端接口请求地址:

b7ad874cb70ab1c4a51d6de4a34ae5c7.png

nginx配置:

a33dcfd6111b8340e3f3a18fae13fa1d.png

浏览器访问返回200,但是被security拦截了,没有携带身份凭证不给通过。

1bfa7e9ad359bd3632f85bc418bf5358.png

但是security进行了配置,在调用接口的时候,对特定接口放行了。

60b9d00ed1c7274cc5119768d64473ee.png

最终发现是nginx配置出问题了,拦截了/api,并且链路到了localhost:8080,其实拼接之后就变成了,localhost:8080/api/接口名字,多了api字段,导致放行规则不匹配,于是对nginx配置进行更改,拦截/api请求,并且去掉/api字段。

image.png