利用 ​​nginx​​​,在 ​​nginx​​ 当中配置服务地址代理规则

下载 nginx,​​http://nginx.org/en/download.html​

创作者前端-前后端分离多服务之间的访问调用_ide

修改 nginx 配置,修改 ​​nginx-1.16.1\conf​​​ 目录下的 ​​nginx.conf​​ 文件,修改内容如下

创作者前端-前后端分离多服务之间的访问调用_命令行_02

location ~ /service_video {
    proxy_pass http://localhost:8001;
}

location ~ /service_upload {
    proxy_pass http://localhost:8002;
}

启动 nginx,然后在浏览器中访问 ​​http://localhost/​​ 看到如下界面说明 nginx 已经启动好了

创作者前端-前后端分离多服务之间的访问调用_ide_03

那么如何关闭 nginx 呢,你们的有可能有一个命令行窗口,你关闭那个窗口其实 nginx 并没有真正的关闭,你不信你关闭了之后你在访问 ​​http://localhost/​​ 还是可以看到如上图的界面,那么怎么关闭呢,关闭方式如下

创作者前端-前后端分离多服务之间的访问调用_ide_04

创作者前端-前后端分离多服务之间的访问调用_ide_05

nginx.exe -s stop

再次访问如上 nginx 的地址你会发现访问不到了,就说明关闭啦,配置好了 nginx 之后呢,然后在前端工程当中配置接口地址为 ​​nginx​​​ 地址即可完成多服务访问的效果了,修改前端的 ​​.env.development​​ 修改内容如下图

创作者前端-前后端分离多服务之间的访问调用_ide_06

如上的内容都配置完毕了之后这个时候你启动后端和前端来测试一下,还有 nginx 也需要启动,来看看可不可以达到多服务的访问呢

启动后端

创作者前端-前后端分离多服务之间的访问调用_命令行_07

访问登录发现出错了

创作者前端-前后端分离多服务之间的访问调用_nginx_08

问题原因就是我们登录的 Controller 没有加模块的前缀路径,修改 ​​LoginController​

创作者前端-前后端分离多服务之间的访问调用_nginx_09

紧接着前端登录接口的路径也需要同理的修改,如下

创作者前端-前后端分离多服务之间的访问调用_ide_10

修改之后在访问,发现全部都OK啦,效果如下图

创作者前端-前后端分离多服务之间的访问调用_ide_11