在同一个端口上运行多个服务器

ite*_*tor 19 xampp node.js apache-2.2

我想在端口 80 上运行 XAMPP 服务器和 Nodejs 服务器。

如果服务器收到一个 HTTP 请求,那么 XAMPP 会处理它,如果服务器收到一个 Websocket 请求,那么 Nodejs

这怎么可能?如果某个端口已在使用中,则我无法启动其他服务器程序。

Sve*_*ven 45

您需要使用反向代理来执行此操作,例如 Apache 2.4。与mod_proxy_wstunnel

将其用作前端,然后将连接隧道连接到适当的后端。


gre*_*ius 22

只有单个进程可以在特定端口上侦听相同的 IP 地址和协议,否则操作系统将不知道将接收到的数据包发送到哪个进程。

要实现您想要的目标,您必须使用反向代理,它将侦听端口 80 并将流量转发到正确的目的地。有多种方法可以做到这一点。例如,您可以设置您的 Web 服务器 (Apache) 来转发 WebSocket 请求,或者您可以配置 Node.js 来转发 HTTP 流量。研究可用选项并选择最适合您需求的选项。