6

我是 Websocket 编程的新手,但我的最新项目需要在 Ubuntu Linux 服务器上部署 WebSocket 服务器。我从互联网上阅读了一些,并且知道-

  1. websocket客户端会通过80/443端口连接到服务端,相应的协议标识为ws/wss。http://www.websocket.org/aboutwebsocket.html
  2. Apache/Nginx Web 服务器通常会在服务器端监听 80/443,所以我们必须配置 Apache/Nginx 以支持 ws/wss 协议,更好地将连接像代理一样传输到 websocket 服务器。
  3. 有一些用于 Apache 的 websocket 服务器插件,我也知道 Nginx 1.3+ 原生支持 websocket 协议,配置它也可以使用 websocket 服务器。

根据我所知道的,我认为我可以通过 80/443 将 Apache/Nginx 和 Websocket Server 一起部署。我想知道,如果我们可以独立使用 websocket 服务器吗?我认为如果我们可以编写一个从其他端口连接到服务器的 websocket 客户端,那么我们可以做到。

那么我们可以编写一个 websocket 客户端来从不同的端口连接服务器吗?

4

1 回答 1

5

是的。独立的 WebSocket 服务器通常可以在任何端口上运行。浏览器客户端在非 HTTP(S) 端口上打开与服务器的 WebSocket 连接没有问题。

默认端口为 80/443 的主要原因是它们是最可靠的大量使用端口,因为它们能够穿越许多阻止所有其他端口上的所有流量的公司防火墙。

如果这对您的听众来说不是问题(或者您有基于 HTTP 的回退),那么为 WebSocket 服务器使用备用端口是完全合理的(并且容易得多)。另一种选择是使用 80/443 端口,但使用单独的 IP 地址/主机名。

于 2013-03-31T21:32:08.493 回答