部署至Azure Web App的Node.js应用持续出现请求超时问题
解决Azure Web App部署Node.js应用的请求超时问题
修正端口监听逻辑:Azure Web App不会对外暴露3000这类自定义端口,而是通过环境变量
PORT动态分配内部端口供应用监听。修改你的app.js,将固定端口改为读取环境变量,本地开发保留默认3000:const express = require('express') const app = express() // 优先使用Azure分配的PORT,本地开发默认3000 const port = process.env.PORT || 3000 app.get('/', (req, res) => { res.send('Hello. Welcome to this blog') }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) })配置启动命令:登录Azure门户,进入你的Web App,在「配置」→「常规设置」里,将「启动命令」设置为
node app.js。或者在项目的package.json中添加启动脚本:"scripts": { "start": "node app.js" }Azure会自动识别并执行这个start脚本。
使用正确的访问地址:Azure Web App对外仅开放80(HTTP)和443(HTTPS)端口,直接访问
https://XXXX.azurewebsites.net/即可,无需添加3000端口,平台内部会自动将请求转发到应用监听的端口。验证应用启动状态:在Azure门户的Web App→「日志流」中查看启动日志,确认是否输出
Example app listening at...的信息。如果存在依赖缺失等报错,检查package.json是否包含express依赖,确保部署时npm install已执行完成。
内容的提问来源于stack exchange,提问作者Svj
相关产品推荐
相关产品推荐

