node.js - Azure Ubuntu VM 应用程序只能连接到端口 80

标签 node.js azure ubuntu

我在 Azure 上有一个 Ubuntu16.04 VM,并试图在其上运行 Node 服务器。当我将端口绑定(bind)到 80 时,我可以从我的浏览器 (http://a.b.c.d:80) 访问它。但是,如果我尝试将服务器绑定(bind)到不同的端口,例如 3300 或 8080,浏览器会在尝试连接时超时。 (http://a.b.c.d:3300)

我已确保:

  • NSG
  • 中存在端口 3300 的入站安全规则
  • 浏览器机器的windows防火墙允许3300端口(我什至尝试过暂时完全关闭但无济于事)
  • 我没有使用 azure 负载均衡器
  • 我正在以 root 权限启动 Node
  • Node 绑定(bind)到(端口,“0.0.0.0”)
  • 我正在监听正确的端口(我认为?)netstat -ant | grep 3300
    tcp6 0 0 :::3300 :::* LISTEN

  • 我现在花了几个小时在互联网上研究如何让它工作并尝试了我能找到的一切,但无济于事。如果有人有任何意见,我很乐意尝试一下。

    最佳答案

    杰森是正确的,这是一个 ufw 问题。如果以后有人遇到这个问题,我用命令解决了

    sudo ufw allow proto tcp from any to any port 3300
    

    关于node.js - Azure Ubuntu VM 应用程序只能连接到端口 80,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46228391/

    相关文章:

    laravel - 在 Ubuntu 上使用 Sail 和 PhpStorm 在 Laravel 8 上运行 Xdebug

    amazon-web-services - 在 AWS EC2 Ubuntu 上运行 Docker 容器随机消失

    c - 在C中将图像转换为黑白的问题

    node.js - 找不到 NPM 命令

    node.js - 使用node.js http服务器时的301重定向

    azure - 安排网络作业

    c# - C#.NET 项目中我们真的需要 ApplicationInsights.config 文件吗?

    node.js - Electron 在 Windows 上运行 SQLlite 3 - 动态链接库 (DLL) 初始化例程失败

    javascript - 你如何使用 JS Promises 在 API 返回值时继续从 API 请求?

    c# - Azure 文件存储在列表请求中包含文件元数据