XMLHttpRequest 跨源请求仅支持协议方案反过来服务器

Posted

技术标签:

【中文标题】XMLHttpRequest 跨源请求仅支持协议方案反过来服务器【英文标题】:XMLHttpRequest Cross origin requests are only supported for protocol schemes in turn server 【发布时间】:2017-09-29 23:42:35 【问题描述】:

我在 chrome 控制台中收到以下错误

XMLHttpRequest 无法加载 XMLHttpRequest 无法加载 转:global.turn.twilio.com:3478/turn?username=username&key=key&transport=udp 跨源请求仅支持协议方案:http, 数据,铬,铬扩展,https。

在运行本地 webrtc 示例服务器时 我正在运行的节点服务器示例来自https://github.com/ISBX/apprtc-node-server/

下面是截图

提前致谢

【问题讨论】:

您为什么要尝试使用XMLHttpRequestturn: URL 发出请求? 我只是在 github 中运行示例,而转服务器已过期,所以我刚刚从 twillo 获得了一个免费的 trun 服务器并运行它 你使用什么协议? 嗨,alex 我使用 https 协议来运行 nodejs 服务器 你能添加你的前端代码吗?正如其他人所提到的,我对将 XHR 制作到 TURN 服务器的原因持怀疑态度。 【参考方案1】:

我相信您对 TURN 服务器的用途有误解,并且将其称为标准 Web 服务器。

正如一些评论者所提到的,您不应该向使用不同 TURN 协议的 TURN 服务器发出 HTTP 请求。相反,您可以通过 iceServer 对象配置 WebRTC 设置,这是您定义 TURN 服务器的地方。 WebRTC 实现将在需要时使用 TURN 服务器。

这是一篇关于 WebRTC 信令的好文章:

https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

如果您有兴趣了解 WebRTC 使用的特定协议,这里还有几篇其他文章:

https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Protocols

https://www.twilio.com/docs/api/stun-turn/faq

【讨论】:

嗨,Michael 感谢您的回答,但我根本没有尝试发出 http 或 https 请求,我只是尝试运行示例代码,trun/stun 服务器也用于信号目的和媒体传输.我已经创建了一个本地转服务器并尝试集成相同的错误可能会在这里发布代码,再次感谢

以上是关于XMLHttpRequest 跨源请求仅支持协议方案反过来服务器的主要内容,如果未能解决你的问题,请参考以下文章

Django AJAX 错误:仅协议方案支持跨源请求

错误消息“无法加载 XMLHttpRequest。 AngularJS 中的 HTTP 仅支持跨源请求

跨源请求被阻止的 CORS - 使用角度 cli 解决 [仅限开发人员] [重复]

跨源请求仅支持协议方案错误反应

仅 Angular2 中的协议方案问题支持跨源请求

跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https