Vue 正式环境跨域问题,调用的云端服务,想再调用本地服务,各位大佬,这个怎么搞?

2020-11-16 19:45:05 +08:00
 asionbo

vue 正式打包后,服务在云端,想同时调用本地某个服务。

4299 次点击
所在节点    Vue.js
40 条回复
sixway
2020-11-16 19:48:48 +08:00
不知道你想要表达什么意思,
asionbo
2020-11-16 20:09:14 +08:00
比如 vue 正式访问的是 http://api/v1,同时,我想访问本地的某个服务 http://api/v3,
v1 服务在云端,v3 一定是部署在运行 vue 浏览器的机器上。这种怎么实现
winnerczwx
2020-11-16 20:13:59 +08:00
后端允许跨域
opengps
2020-11-16 20:20:40 +08:00
调用本地是指用户的 pc 本地?这时候你直接访问 127.0.0.1 就行了,但是话说回来,你的客户一定本地有站点吗?
ZSeptember
2020-11-16 20:38:28 +08:00
代理
jinliming2
2020-11-16 20:49:25 +08:00
@asionbo 你域名都是 api ?
本地改 hosts,域名 api 指向本地 127.0.0.1,然后本地开个 nginx,/v1/ proxy 到远程,通过 IP 反向代理指定 host 头。/v3/ proxy 到本地服务。
除了 nginx,也可以用其他的 proxy 程序,比如 http-proxy
kiwier
2020-11-16 21:43:30 +08:00
把本地服务内网穿透到公网上
JerryCha
2020-11-16 22:54:21 +08:00
本地既然运行了一个服务,那让这个服务替你请求不就好了。
或许你们没法插手本地服务的开发?
cccp2020
2020-11-17 00:32:58 +08:00
最直白让后端设置跨域白名单,随便跨
muzuiget
2020-11-17 01:59:44 +08:00
反向代理了解一下。
jiangzm
2020-11-17 02:37:23 +08:00
最好的方法就是本地代理下,可以全部请求转到本地服务器,或者浏览器安装个 SwitchyOmega 设置下需要代理的地址。
RickyC
2020-11-17 09:14:58 +08:00
可尝试:

打开网站 nGinx 配置文件, 在 Server 的{}, 加入如下代码

#解决远程跨域问题
location /api/ {
proxy_pass http://远程服务器地址 /api/;
}

重启 nGinx 服务后可以用 http://本地地址 /api 访问到远程的 api
galikeoy
2020-11-17 09:24:23 +08:00
@RickyC #12 为什么你的 nGinx 是 G 大写的?
GressJoe
2020-11-17 09:27:08 +08:00
@galikeoy 哈哈哈哈
yaphets666
2020-11-17 10:01:00 +08:00
你本机上的服务只有内网能访问到.因为你的本机没有暴露到互联网上去.但是你的前端部署在互联网服务器当中.所以要把你的本机要有公网 IP.不然无法访问,这和代理没有关系.
xylophone21
2020-11-17 10:01:55 +08:00
跨域跨域,跨的是域名,结果你把最重要的域名信息隐藏了
tikazyq
2020-11-17 10:07:08 +08:00
楼主百度一下“跨域的几种方式”,以后不要再到 v2 上做伸手党,下次看到直接拿🔨敲头
tikazyq
2020-11-17 10:08:14 +08:00
估计楼主是指一部分接口调服务端,一部分开发的接口调本地,你都有本地接口了,为啥不直接全部调本地
belin520
2020-11-17 10:14:36 +08:00
用了 Vue 的人,感觉连 JavaScript 是什么都不知道了,全世界都只有 Vue,只有 Vue 的解决办法。
利益相关:最早一批 VueJS 用户
Saszr
2020-11-17 10:41:07 +08:00
看一下 nginx 相关的知识
proxy_pass ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/725927

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX