登录
首页 >  文章 >  java教程

SocketIO与WEB服务能否共享80端口?

时间:2024-12-26 18:24:54 439浏览 收藏

在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《SocketIO与WEB服务能否共享80端口?》,聊聊,希望可以帮助到正在努力赚钱的你。

SocketIO与WEB服务能否共享80端口?

socketio 能与 web 服务共享端口吗?

提问者提出,传统的 socketio 和 web 服务通常使用不同的端口,但在客户环境中,只有 80 端口可用。这种情况是否可以通过让 socketio 与 web 服务共享同一端口来解决?

答案:

推荐使用反向代理来解决此问题。

反向代理充当 80 端口的中间层,将请求转发到不同的目标服务器。在本例中,可以将 /socket.io/ 开头的请求代理到 9092 端口,用于 socketio;其他请求则转发到 80 端口的 web 服务。

配置示例:

http {
  server {
    listen 80;

    location / {
      proxy_pass http://localhost:9091;
    }

    location /socket.io/ {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      proxy_pass http://localhost:9092;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
  }
}

这种方法实际上是将 socketio 与 web 服务共享同一个 80 端口,但它们仍然通过反向代理路由到不同的后端服务。

以上就是《SocketIO与WEB服务能否共享80端口?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>