【问题标题】:socket.io) Is it okay to show port numbers in client side?socket.io) 可以在客户端显示端口号吗?
【发布时间】:2014-01-13 06:01:36
【问题描述】:

我对 socket.io 和 node.js 有点陌生。

我目前使用 nginx 作为反向代理来设置我的服务器。

常规请求将发送到端口 8080,apache 服务器。

一些具体的请求会到8888端口,node.js服务器。

我使用 socket.io 和 node.js 创建了一个简单的聊天。

一切正常,但由于 node.js 服务器正在侦听端口 8888..

我在客户端上有代码

<script src='myserver:8888/socket.io/socket.io.js'></script>

var socket = io.connect('myserver:8888');

这样写可以吗?

或者有没有其他方法可以防止直接写入端口号?

【问题讨论】:

  • 我没有使用过 nginx,只是想提供帮助,客户端可以从服务器 [可能在 AJAX 请求中] 读取配置文件,然后创建一个套接字连接。这将使端口号对客户端隐藏,直到他进入控制台查看它。甚至你可以在 node.js 内部使用不同的端口[使用不同的节点进程]。这样给客户端的端口将只接受请求。然后使用不同的端口+进程[对客户端隐藏]来运行您的业务逻辑。

标签: node.js socket.io


【解决方案1】:

您可能希望使用 nginx 将请求代理到您的 node.js 服务器。这样你就可以将你的代码放在客户端上

<script src='node.myserver/socket.io/socket.io.js'></script>

而不必写端口号。

查看本教程

https://chrislea.com/2013/02/23/proxying-websockets-with-nginx/

【讨论】:

  • 页面由apache+php渲染,聊天室app将与node.js服务器通信。所以对 node.js 服务器的请求是从 myserver/phppage 发送的。这就是我被卡住的原因。我没有考虑将子域用于 node.js 服务器。我会试试的,谢谢!
猜你喜欢
  • 2018-05-05
  • 1970-01-01
  • 2011-10-14
  • 2014-12-07
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多