sprintboot+vue,开发环境可以设置代理,这个可以在csdn里搜索。
但在运行环境,那个开发的代理设置没用了,需要另外想办法处理。
可以使用nginx做后台的代理。
本例将springboot后台和vue应用各自独立部署。
在nginx.conf文件中,在server的属性中,设定了前端访问vue页面是 localhost:80(也可以是127.0.0.1:80)。
springboot后台的访问端口则设置为 http://localhost:8111/
vue代码中,所有访问springboot后台的服务时,本来代码写的是访问http://127.0.0.1:8111/,即baseUrl="http://127.0.0.1:8111'。因为有了nginx做代理,vue代码中,所有访问springboot后台的服务,都改成访问 /test/ ,即 baseUrl="/test/"。
这样,终端访问页面时,在访问/test/时,都会被nginx代理到 http://127.0.0.1:8111/去。
这样的设置,隔着防火墙,都能正常访问springboot后台的服务。而且,对外不需要开放8111端口,只需开放vue前端应用的端口(本例为80)就可以了。
亲测有效,希望可以帮到还朦朦的读者。