跨服务器 websocket

发布于 2024-11-15 07:24:03 字数 372 浏览 1 评论 0原文

当我尝试连接到我的 websocket 服务器时,出现此错误:

Error during WebSocket handshake: origin mismatch: http://skerit.com != http://kipdola.be

果然,我必须输入源响应,如下所示:

    self.client.send("Sec-WebSocket-Origin: http://kipdola.be\r\n")
    self.client.send("Sec-WebSocket-Location: ws://kipdola.be:1234/\r\n")

但是如何将其设置为允许多个源?

I get this error when I try to connect to my websocket server:

Error during WebSocket handshake: origin mismatch: http://skerit.com != http://kipdola.be

Sure enough, I had to put in an origin response, like this:

    self.client.send("Sec-WebSocket-Origin: http://kipdola.be\r\n")
    self.client.send("Sec-WebSocket-Location: ws://kipdola.be:1234/\r\n")

But how do I set it to allow multiple origins?

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

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

发布评论

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

评论(1

我不会写诗 2024-11-22 07:24:03

您只需回显用户在请求中提供的来源,请求看起来有点像这样:

GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: skerit.com
Origin: http://skerit.com

您执行服务器端检查 Origin 标头是否在允许的来源列表中,然后将来源回显回客户:

self.client.send("Sec-WebSocket-Origin: " + headers["Origin"] + "\r\n")

You just echo back the origin the user provided in the request, the request looks somewhat like this:

GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: skerit.com
Origin: http://skerit.com

You perform a serverside check if the Origin header is in your list of allowed origins and just echo the origin back to the client:

self.client.send("Sec-WebSocket-Origin: " + headers["Origin"] + "\r\n")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文