跨子域/端口socket.io - 如何处理?

发布于 2024-11-24 16:18:53 字数 421 浏览 2 评论 0 原文

我面临 Socket.io 的跨子域/端口问题。在 Opera 中的示例中,当我禁用 Flash Socket.io 时,它会自动回退到 JSONP - 这并不好(XHR 更好)。

我现在使用的是 test 子域,我们将其称为 test.example.com。我尝试了很多解决方案。

  • http://data.test.example.com:80
  • http://test.example.com:8000
  • http://example.com:8000

没有一个解决方案有效。有什么提示吗?也许我应该使用 nginx 作为反向代理?像http://test.example.com/data/之类的东西?

I'm facing cross-subdomain / port problem with Socket.io. In example in Opera, when I disable Flash Socket.io automatically fallback to JSONP - and that's not good (XHR is way better).

I'm using now test subdomain, let's call it test.example.com. I tried many solutions.

  • http://data.test.example.com:80
  • http://test.example.com:8000
  • http://example.com:8000

None of solutions worked. Any hints? Maybe should I use nginx as reverse proxy? Something like http://test.example.com/data/?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤者何惧 2024-12-01 16:18:53

我面临 Socket.io 的跨子域/端口问题。在例子中
在 Opera 中,当我禁用 Flash Socket.io 时,会自动回退到
JSONP - 这并不好(XHR 更好)。

好问题。使用 Opera 时,我还有一个“旋转 throbber”。但经过一番搜索后,我认为 Opera 还不 支持 CORS。您必须使用 CORS 来绕过同源政策。我认为socket.io的唯一选择是添加server-sent-event(socket.io还没有server-sent-event,我认为有跨域支持)。您还可以尝试用socket.io填充问题(不要认为他们会将其放在问题队列的前面)。但也许这个问题可能是由服务器发送的-event

另外,我认为您可以只启用闪存套接字,这可以解决所有问题。几乎所有(99%)用户都拥有 Flash

或者你喜欢你说你可以使用 Nginx 作为反向代理。另外,一些用户确实使用 HAProxy 代替。

I'm facing cross-subdomain / port problem with Socket.io. In example
in Opera, when I disable Flash Socket.io automatically fallback to
JSONP - and that's not good (XHR is way better).

Good question. I also have a "spinning throbber" when using Opera. But after some searching I think that Opera does not yet support CORS. You have to use CORS to get around same origin policy. I think the only option for socket.io would be to add server-sent-event(socket.io does not yet have server-sent-event, which I think has cross domain support). You could also try and fill an issue with socket.io(don't think they will put this in front of issues queue). But maybe this issue might be working server-sent-event

Also I think you could just enable flash-sockets instead, which fixes all problems. Almost all(99%) user do have flash.

Or you like you are saying you could use Nginx as reverse proxy. Also a some users do use HAProxy instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文