【问题标题】:Is there any pitfalls for using different ports for different feature in Web Application?在 Web 应用程序中为不同的功能使用不同的端口有什么陷阱吗?
【发布时间】:2016-09-09 10:18:54
【问题描述】:

我正在使用平均堆栈构建一个 webApp。我的 webApp 包含聊天功能。我使用 socket.io 来实现聊天。现在我在一个端口上实现了 socket.io,在普通端口 80 上实现了 express 服务器。

现在我有另一个功能(屏幕共享),我也想在不同的端口上使用 socketio。我使用不同的端口,因为它使代码更简单,更容易理解。

但由于我是 Web 开发的新手,我想知道从长远来看使用多个端口是否有任何陷阱?

因为根据我有限的经验,我没有看到人们经常使用不同的端口。

【问题讨论】:

    标签: node.js socket.io client-server


    【解决方案1】:

    我发现使用多个端口时的一个陷阱:某些用户的网络环境不允许访问非标准端口(http 只允许 80,https 只允许 443),这意味着你不能在一台机器上部署很多服务。

    【讨论】:

    • 这种环境有多普遍?我们的目标用户通常是家庭用户,而不是在办公环境中...
    • 对于家庭用户来说,可能没有问题,但标准端口(80和433)始终是防火墙最友好的,我们不能假设所有用户的网络环境都是正常的。如果你的服务(比如网站)的url会暴露给用户(浏览器地址栏,分享到bbs),url上有奇怪的端口会显得不专业,对于内部api服务来说,这不是问题。也许您可以将 nginx 部署为所有服务的前端,使用虚拟主机,您可以获得标准端口和独立服务。
    • 谢谢,它实际上是用于在浏览器中不可见的内部 api 服务。感谢您的洞察力。
    • 这是一个很好的观点。我见过防火墙会阻止端口并且您的 UI 将无法参与跨源通信的情况。补充一点,socket.io 确实允许跨源。但是,如此处所述,您可能会遇到问题。这取决于您的目标用户是谁(家庭用户可能没问题)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多