You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Azure Web App实现与其他端口的TCP通信?

解决Azure Web App部署TCP监听器无法被本地客户端连接的问题

核心问题原因

Azure Web App对外仅暴露80和443端口,所有外部流量必须通过这两个端口进入。即使配置WEBSITES_PORT,也只是将Web App的80/443端口转发到容器内部的指定端口,且该转发仅针对HTTP/HTTPS流量,纯TCP流量无法通过Web App的反向代理进行转发。你之前配置虚拟网络、NSG的操作仅能让虚拟网络内部资源访问Web App的内部端口,无法解决外网客户端直接连接非80/443端口的问题。

可行解决方案

方案1:使用Azure Container Instances(ACI)部署TCP监听器

ACI支持直接对外暴露自定义TCP端口,适合快速部署简单的TCP服务:

  • 从Azure容器注册表(ACR)拉取你的监听器镜像
  • 创建ACI实例时,指定端口映射(例如将容器的8080端口映射到ACI的8080端口)
  • 为ACI分配公共IP地址
  • 本地客户端直接连接<ACI公共IP>:8080即可发送TCP数据

方案2:使用Azure Relay Hybrid Connections实现TCP穿透

如果必须使用Web App部署监听器,可通过Azure Relay的Hybrid Connections实现外网客户端到Web App内部TCP端口的连接:

  1. 创建Azure Relay命名空间,在命名空间下创建Hybrid Connection
  2. 在Web App的“网络”设置中添加该Hybrid Connection,自动安装代理
  3. 在你的TCP监听器应用中集成Hybrid Connections SDK,监听Hybrid Connection的端点
  4. 本地客户端通过Hybrid Connection的连接字符串连接到Web App内部的TCP服务

方案3:改用Azure虚拟机(VM)部署TCP监听器

VM支持完全自定义端口开放,适合需要长期运行的TCP服务:

  • 创建Azure VM,部署你的TCP监听器应用
  • 在VM关联的网络安全组(NSG)中添加入站规则,允许8080端口的TCP流量
  • 为VM分配公共IP地址
  • 本地客户端连接<VM公共IP>:8080

验证建议

  • 先在本地测试TCP监听器和客户端的连通性,确保应用本身无逻辑问题
  • 部署到Azure后,使用telnet <目标IP> 8080或nc <目标IP> 8080命令测试端口连通性

内容的提问来源于stack exchange,提问作者Hiten Pandya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:01:40