使用Nginx部署VUE3+VITE项目时无法访问后端接口的一个情况

发布时间 2024-01-10 15:32:27作者: 寒风中亦温暖

在使用VUE3作为前端,ABPVNEXT6.0作为后端框架。使用Nginx部署后无法访问api,接口报错404

找错思路很重要,网上找到了很多Nginx配置信息,但是都不起作用,即使更换服务器重新部署也无法生效

后来才发现,ABPNEXT对于未找到对应实体的报错就是404,按照正常的程序逻辑,404应该就是notfound,这一点让我走了很多弯路。

发现这一点就证明,实际上后端接口是通的,然后接口返回404,明白了这一点就要找到为什么会返回404

原因是,我在请求中的header中加上了租户信息,__tenant,的请求头,这个请求头在传到后端时并没有带上

所以需要在nginx配置时,加上允许请求头带下划线

add_header Access-Control-Allow-Headers 'Origin, X-Requested-With, Content-Type, Accept,__tenant';#服务端可以接收的header add_header Access-Control-Allow-Credentials, true;#服务端接收认证信息,如cookie underscores_in_headers on;
由官方解释可以看出,默认情况下,underscores_in_headers为off,表示当客户端请求头中带有下划线的字段默认将会被标识为无效字段。
所以需要将underscores_in_headers设置为on