gpt4 book ai didi

apache - 通过 Apache 服务页面访问 socket.io 服务器

转载 作者:IT老高 更新时间:2023-10-28 23:21:34 24 4
gpt4 key购买 nike

我希望这不是一个非常愚蠢的问题,但我正在学习如何为我的网站实现一个 socket.io 服务器以生成实时应用程序,但我的问题是我想不通了解如何在 Apache 服务环境中实现上述应用程序。目前,当我运行 node server.js 来启动我的 socket.io 服务器时,我必须通过访问 http://localhost:XXXX where XXXX 来访问它 自然是我将其附加到的任何端口。我不希望我的网站被迫在这样的备用端口上查看,但我显然无法将服务器连接到端口 80,因为 Apache 正在监听该端口。

显然,一个自然的解决方案是停止 Apache 服务,然后在端口 80 上连接服务器以避免冲突,但我不想牺牲 Apache 提供的所有功能。基本上,我想继续通过 Apache 在端口 80 上为我的网站提供服务,并通过 socket.io 在端口 3000 上集成实时应用程序的某些方面,比方说。

有没有办法避免我不想要的东西?这些事情是 1) 让用户在 URL 中使用 :3000 访问我的网站,2) 禁用 Apache,3) 使用 iframe。

提前致谢。

最佳答案

通常,您应该能够使用 mod_proxy 隐藏 Node.js。稍微搜索一下:https://github.com/sindresorhus/guides/blob/master/run-node-server-alongside-apache.md (旧链接已失效,这是一个新链接)

但是,Socket.io 可能有点挑剔( https://github.com/LearnBoost/socket.io/issues/25 ),因此您可能会遇到具体问题。

由于那张票有点旧,值得一试。如果您有问题,请不要感到惊讶。下一个赌注是将 Node.js 绑定(bind)到端口 80 并让它充当 Apache 的反向代理,https://github.com/nodejitsu/node-http-proxy (仍处于相当的发展阶段)。

最佳解决方案是在它自己的服务器上运行它,然后让你的套接字流量转到 socket.example.com 或类似的东西。

关于apache - 通过 Apache 服务页面访问 socket.io 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7392024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com