shallow丶十三
2021-08-27 08:56
采纳率: 62.5%
浏览 131
已结题

前后端项目部署问题!前端vue后台springboot

1.问题描述第一版本:第一次部署的时候,我本地和我的笔记本电脑都能访问到!第一次部署我就是把vue项目部署到tomcat,然后后台就是直接在idea中运行。当然,数据库地址我用的不是localhost,而是我的ip地址。然后我使用我的主机访问,没问题!再打开我的笔记本访问。也没问题!然后我让我一起住的朋友连不行。(比如:我的ip地址是192.168.4.5 vue部署在tomcat里的文件夹名字叫front-vue-server) 端口号是9000:那么地址就是192.168.4.5:9000/front-vue-server 是吧!然后确实就我的主机和我的笔记本能访问到!
2.问题描述第二版本:后来我又改成这样去试了一下:就是使用别人说的内网穿透。比如下面这样。
img

然后我使用 http://pebq83.natappfree.cc/front-vue-server%E5%8E%BB%E8%AE%BF%E9%97%AE%EF%BC%8C%E6%9C%AC%E5%9C%B0%E6%98%AF%E6%B2%A1%E6%9C%89%E9%97%AE%E9%A2%98 我让我别的地方的朋友连接试了一下。这次效果要好了!我朋友能访问到前端的项目了。但是没有后台的数据! 这次部署的跟上面一样,只是去加了个网上说的内网穿透!vue项目部署在本地电脑的tomcat里。后台springboot项目没有直接部署,是在本地电脑运行。

3.请问一下各位!这个问题是什么原因?

  • 收藏

7条回答 默认 最新

  • 曦陽惜夏 2021-08-27 09:16
    已采纳

    应该是跨域问题,你看下接口访问的地址是否是403了

    已采纳该答案
    打赏 评论
  • a1767028198 2021-08-27 09:09

    你买个服务器就没这些问题了

    打赏 评论
  • 一枚小爪哇 2021-08-27 09:22

    不在同一个局域网肯定访问不了你的本地项目,需要别人能ping通你本地的ip才能访问你本地的项目啊

    打赏 评论
  • 在下月亮有何贵干 2021-08-27 09:41

    你思考下是不是跨域问题,你的Vue项目部署的在9000,你的接口也就是后端数据的端口是多少呢?端口不同说明出现同ip不同端口的跨域问题了。

    就是你的Vue项目是在9000端口上,那么你的朋友进入页面看到内容,说明现在他的位置在你的ip的9000端口,现在他读取你Vue项目里面的代码,注意,如果你代码里的请求是请求了不同域名或不同端口的内容,那么就跨域了,他读取不到。

    想要读取到,我用的是nginx处理,你得修改你Vue文件里面的请求部分的代码,改成和你部署的同ip同端口,跟在你端口后面有个具体请求,比如是/api,你可以用nginx将你ip的9000端口指向你Vue打包好的文件的入口,然后最关键的就是给这个端口的/api请求配置一个代理,让他在你的9000端口发送/api请求时转发到别的地方去,也就是你朋友以为自己还是在向9000端口要数据,因为他在9000端口又在9000端口要数据,没有跨域,然后nginx已经做了对/api这个请求的代理,它一看到代理的内容,就会将它的9000端口的/api请求转发给你要代理的端口即后端端口,它虽然要的还是9000端口的数据,但是拿到的却是代理的端口给他的数据,就解决跨域了。

    打赏 评论
  • Forrest Gump plus 2021-08-27 09:45

    按道理你做完内网穿透,前端能访问到,那一定能获取后端数据,因为前端和后端是在同一个局域网下。
    下图是外网穿透内网以及内网之间通信的逻辑,希望对你解决问题有帮助

    img
    你现在得确认,你本地前端是否能访问后端数据。

    打赏 评论
  • kk1924 2021-08-27 14:56

    核心在于,你没明白部署的道理,
    当你知道如何部署vue项目和springboot项目的时候,
    你就会意识到,哇
    这个多么简单

    打赏 评论
  • java通俗易懵 2021-08-28 16:47

相关推荐 更多相似问题