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

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

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

4321 次点击
所在节点    Vue.js
40 条回复
fumichael
2020-11-17 10:55:04 +08:00
@belin520 #18 emmmmm,深有同感
richzhu
2020-11-17 10:58:11 +08:00
真心感觉 跨域应该要后端来解决,而不是前端和运维
angryfish
2020-11-17 11:06:37 +08:00
让后端允许跨域访问
sparkinglemon
2020-11-17 12:42:06 +08:00
的确应该后端解决,如果前端能够了解跨域的原因也能加速排查避免浪费时间
RickyC
2020-11-17 12:53:54 +08:00
@richzhu 请问一下, 负责搭环境的是后端还是运维? 我觉得应该运维负责搭环境.
richzhu
2020-11-17 13:30:27 +08:00
@RickyC 环境当然是运维呀,不过跨域是在后端代码中实现的,因为有的时候运维来设置跨域会开放权限过大,就相当于干掉跨域,并且是整个 nginx 中的设置,导致整个项目就真的没有跨域限制了
Sapp
2020-11-17 13:57:06 +08:00
@belin520 然而 vue3 在自己造 api 的道路上越走越远,已经开始魔改 js 了( ref )
jiangnan01
2020-11-17 14:03:15 +08:00
如果后者也存在跨域问题,再加一条代理不就完了?如果后者不存在,那么在 api 目录下请求的 url 头不使用代理的那个头就可以了。让后台允许跨域不说安不安全还要搞出一堆复杂请求的处理,碰到不好商量的后端为这破事耽误摸鱼时间不值得。
dswyzx
2020-11-17 14:05:13 +08:00
鄙人后端,对 vue 仅限于 demo 层面.同样的跨域问题,后端设置跨域成功并手写 js 测试没有问题.但 vue 对接方表示还是没办法跨域,他本地开发时候在 vue 里设置的本地代理,上线嫌配置麻烦,最后解决方案是运维设置 nginx 转发固定 route 实现跨域.
不懂就问:vue 什么时候跨域还不如原生 javescript 的好使了
securityCoding
2020-11-17 14:05:45 +08:00
nginx proxy
dswyzx
2020-11-17 14:07:18 +08:00
@dswyzx 哈哈,念作 加屋丝块普特,怎么写作 javascript 的
iseki
2020-11-17 14:13:25 +08:00
不懂就问:跨域为什么会和 Vue 扯上
jiangnan01
2020-11-17 14:43:20 +08:00
@dswyzx 生产环境配代理不在 nginx 配在哪配啊?
Keyes
2020-11-17 17:12:09 +08:00
我之前是这样做的,因为要取一个本地的真实路径存到云端
https://cloud.example.com A 记录 -> 云端
https://local.example.com A 记录 -> 127.0.0.1

至于本机的 https 问题,装 Client 时候直接给系统上了一个自签证书,步骤大概是:
1 、生成一个 ROOT CA (自签)
2 、ROOT CA 签一个服务器证书(CA=False, cn=local.example.com)
3 、删掉 ROOT CA 的私钥(安全 tips,防止被利用)
dswyzx
2020-11-17 22:21:29 +08:00
@jiangnan01 作为前端站点,后端不同域名的不同服务直接调用呗. 比如 client 直接调用 server1,server2. 走 ng 转发岂不相当于 client 调用 server1 然后分发到 server2.
我只是纳闷 vue 比 js 有什么特殊之处吗
myCupOfTea
2020-11-18 08:53:49 +08:00
用 nginx 代理走不就号了么
DOLLOR
2020-11-18 09:07:15 +08:00
@iseki
想起来,十年前也是“怎么用 jquery 打开新窗口”、“怎么用 jquery 拼接字符串”、“怎么用 jquery 打印控制台”……各种“万能”的 jquery 。🐶
jiangnan01
2020-11-18 10:20:43 +08:00
@dswyzx 那你这不还是后端解决跨域嘛
RickyC
2020-11-18 10:54:31 +08:00
@jiangnan01 前端有办法解决跨域吗? 没有吧.
jiangnan01
2020-11-18 11:21:52 +08:00
@RickyC 是没有啊,我的意思是想说“vue 什么时候跨域还不如原生 javescript 的好使了”,难道原生 JS 可以跨域?

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

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

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

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

© 2021 V2EX