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

如何修复Windows环境Azure App Service端口80权限及端口占用问题?

解决Azure App Service(Windows)Node/Express端口问题

核心问题说明

Azure App Service Windows环境中,不能硬编码固定端口号(比如80、3000):

  • 80属于特权端口,App Service运行进程是低权限身份,无法直接监听,这就是你遇到Error: listen eacces: permission denied 0.0.0.0:80的原因;
  • 3000端口可能被平台内置服务占用,所以会提示端口被占用。
    Azure文档里提到的80是平台对外提供访问的端口,而非你的应用需要监听的端口,平台会自动完成外部端口到应用实际监听端口的映射。

修复步骤

  1. 修改Express应用的端口配置
    在你的入口文件(比如app.js)中,改为读取环境变量PORT来设置监听端口,示例代码:

    const port = process.env.PORT || 3000; // 本地开发时默认用3000,部署后自动使用平台分配的端口
    app.listen(port, () => {
      console.log(`Server running on port ${port}`);
    });
    

    App Service会自动为你的应用注入PORT环境变量,应用只需监听这个端口即可。

  2. 重新部署验证
    修改代码后重新部署到App Service,不需要额外配置端口。外部访问时直接使用App Service的默认域名即可,无需添加端口号,平台会自动完成80/443端口到应用监听端口的转发。

内容的提问来源于stack exchange,提问作者Mark Hardy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:14:59