接口Node后台服务验证nginx代理规则

482 阅读2分钟

文章用到的后台项目为 node.js + ts + sequlize + koa 实现的模板后台项目,地址给出,可以直接快速上手。打算接下来完善 redis 和 cookie 以及 session github.com/jiwenjie/No…

结合 node.js 搭建的后台服务来查看具体代理的路径值到底是什么


补充于20220311 项目实际情况遇到,我们组小姐姐在部署项目,前后台组件标识未一致,后台组件标识为 xxx, 前端给的组件标识为 XXX_UI,但是服务器代理配置如下

image.png

所以我有些疑惑,正常应该能够匹配前端那奇奇怪怪的标识,为什么404了,之后我再次实际操作验证

尝试浏览器请求如下

image.png

让我们看后台日志

image.png

结论知道了,转到后台服务器的时候会把下划线变成斜线,所以导致文件夹路径出错,访问不到内容。 专门做记录

nginx安装目录结构

image.png tips:其中 template 是创建的静态目录,前端的 dist 文件夹就放在其中

image.png 该 dist 文件夹内容是打包 sync 项目得来,所以所有的资源请求都会有 sync 组件标识符前缀,示例如下

image.png

此时的配置文件中代理配置如下

image.png

而作为node服务器的后台,接收到的参数为如下所示,可以看到路径前缀都没变,只是把 ip 地址做了更换

image.png

接口全路径:****http://localhost:8099/sync/syncCaseItems/num

此时的配置换成如下所示,把校验代理增加了一段匹配

image.png

此时的 node 后台接收到的实际接口请求如下

image.png

可以看到,相当于把接口全路径中的 /sync/syncCaseItems/ 去除,直接在 3300 后面加了接口全路径的最后部分

此时的配置如下

image.png

注意没有在最后末尾加上 / 做分割。我们可以看下现在的接口请求

image.png 可以看到实际接口请求中也缺少了分割线,此处需要我们注意,如果没有实际的日志测试查看不好发现该问题。

那么我们在做最后一次改动,接下来就是见证奇迹的时刻

image.png

注意我们在末尾增加了 / 分割线

那么我们看浏览器运行效果

image.png

可以从后台服务器中看看日志部分

image.png

配置成功。