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

Node.js Express应用部署Azure Web App成功但访问链接异常求助

排查Azure Web App部署后无法访问的实操步骤

1. 先检查Web App基础状态与日志

  • 登录Azure门户进入你的Web App,先看概述页的状态是否为“运行中”,如果是停止/出错状态,先启动实例
  • 打开日志流页面,实时查看应用启动和请求的报错信息,重点关注两类问题:
    • Node.js进程启动失败的错误(比如端口配置硬写死)
    • Nodemailer相关的权限/配置错误(比如SMTP端口被拦截)
  • 查看部署中心的部署记录,确认代码是否成功上传,有没有构建失败的提示

2. 端口配置必须适配Azure规则

  • Azure会自动分配端口,不能硬写固定端口(比如3000),必须用环境变量process.env.PORT,检查你的Express代码:
    const port = process.env.PORT || 3000;
    app.listen(port, () => {
      console.log(`Server running on port ${port}`);
    });
    
  • 要是硬写端口,Azure无法映射外部请求,必然导致访问失败

3. Nodemailer配置要兼容Azure环境

  • Azure默认封禁25端口的SMTP连接,必须使用465(SSL)或587(TLS)端口
  • 确认你的Nodemailer配置用了正确端口和安全设置:
    const transporter = nodemailer.createTransport({
      service: 'Gmail', // 替换为你的邮箱服务商
      port: 465,
      secure: true,
      auth: {
        user: 'your-email@gmail.com',
        pass: 'your-app-password' // 注意:用应用专用密码,不是邮箱原密码
      }
    });
    
  • 像Gmail、Outlook这类服务商,需要开启应用专用密码或允许低安全应用访问,否则会被Azure或服务商拦截

4. 启动命令不能出错

  • 进入Web App的配置 > 常规设置,检查“启动命令”是否正确:如果入口文件是server.js,就设为node server.js;如果package.json里有"start": "node server.js",也可以设为npm start

5. 对比本地与Azure的环境差异

  • 本地运行应用,用浏览器或Postman测试接口,确认Nodemailer功能正常
  • 在Azure的控制台中进入应用目录,手动执行node server.js,查看是否有报错,重点排查环境变量问题——邮箱账号密码别硬写在代码里,要放到Azure的配置 > 应用程序设置中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:05:07