Hello! 欢迎来到小浪资源网!


只有一个80端口,如何同时运行SocketIO和Web服务?


只有一个80端口,如何同时运行SocketIO和Web服务?

socketio 与 web 服务共用端口的可行性

对于开发者来说,以下问题困扰着他们:当客户环境只能开放 80 端口时,如何在 socketio 和 web 服务之间进行抉择?

答案是,可以使用反向代理将 socketio 和 web 服务共用同一个端口。

反向代理是一种服务器,它接收客户端请求并将其转发到另一个服务器(后端服务器)进行处理。在 socketio 的情况下,我们可以使用反向代理将针对特定路径的请求转发到 socketio 服务器,而将其他请求转发到 web 服务服务器。

例如,使用 nginx 作为反向代理,我们可以配置以下规则:

location / {   proxy_pass http://localhost:9091;  # 将非 Socketio 请求转发到 Web 服务 (端口 9091) }  location /socket.io/ {   proxy_pass http://localhost:9092;  # 将 Socketio 请求转发到 Socketio 服务器 (端口 9092) }

需要注意的是,socketio 只是对 websockethttp封装,因此处理 socketio 的方式与处理 websocket/http 相同。

相关阅读