Rocket.Chat websocket 已为此服务器禁用

问题描述 投票:0回答:2

我最近通过 docker 在我的服务器上设置了 Rocket.chat 实例。在浏览器和 Mac 应用程序中一切正常,但在 Android 或 ios 移动应用程序上则不然。

输入工作场所 URL 后,我收到消息“Websocket 在此服务器上被禁用”。

服务器:

  • Ubuntu 22.04 LTS
  • 由 Plesk 18.0.50 提供支持
  • NodeJS 18

我严格遵循了不同帖子上的所有配置和提示,但没有任何效果。我的 nginx 配置:

location ~ ^/.* {
    proxy_pass https://chat.my-domain.de:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Nginx-Proxy true;
    proxy_redirect off;
}

我不知道如何解决这个问题,你有什么建议吗?非常感谢!

android ios docker nginx rocket.chat
2个回答
0
投票

有同样的问题,只是我使用 NPM(Nginx 代理管理器)代替 NginX。

原来,在NPM中创建主机时,我需要激活Websocket支持。 Enable websocket support

根据nginx博客

WebSocket 协议与 HTTP 协议不同,但 WebSocket 握手与 HTTP 兼容,使用 HTTP 升级工具将连接从 HTTP 升级到 WebSocket。这使得 WebSocket 应用程序能够更轻松地融入现有基础设施。

还有一个带有完整配置的示例。 也许这会给你更多的洞察力,因为 $connection_upgrade 是在你的配置中设置的。

但是映射部分也集成在配置中吗?

这是例子:

http {
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

upstream websocket {
    server 192.168.100.10:8010;
}

server {
    listen 8020;
    location / {
        proxy_pass http://websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $host;
        }
    }
}

0
投票

对于 Rocket.chat 到移动应用程序的工作:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

upstream myrocketchat {
  server 127.0.0.1:3000;
}

server {
    listen 80;
        server_name yourdomain.com;
    location / {
        proxy_pass http://myrocketchat;
        proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;

        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.