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

Azure部署的Node.js Express API用Axios请求特定URL触发500错误

解决Azure Web App中Express应用调用特定URL时的500错误

问题场景

我用Express创建Node.js应用并部署到Azure Web App,简单路由运行正常:

router.get("/search=:search", (req, res) => res.send("Response"));

但引入axios发起HTTP请求时,本地测试正常,Azure却抛出500 Internal Server Error:

const http = require("axios");

const url = "https://yts.torrentbay.to/api/v2/list_movies.jsonp?query_term=shrek";

router.get("/search=:search", async (req, res) => {
  await http.get(url);
  res.send("Response")
});

已确认问题出在目标URL,换成google.com可正常运行,求解决方法。


解决方案

1. 捕获错误并查看Azure实时日志

原代码未做错误捕获,无法定位具体报错原因。先添加错误处理并打印日志:

const http = require("axios");

const url = "https://yts.torrentbay.to/api/v2/list_movies.jsonp?query_term=shrek";

router.get("/search=:search", async (req, res) => {
  try {
    const response = await http.get(url);
    console.log("请求成功:", response.status);
    res.send("Response");
  } catch (error) {
    console.error("请求失败详情:", error.message, error.response?.status, error.code);
    res.status(500).send("请求失败: " + error.message);
  }
});

然后登录Azure门户,进入对应Web App资源的「监控」->「日志流」,查看实时输出的错误信息,比如证书验证失败、连接超时、目标服务器拒绝访问等。

2. 处理SSL证书验证问题

部分小众域名的SSL证书可能不被Azure环境信任,可临时关闭证书验证(仅调试用,生产环境需谨慎):

const http = require("axios");
const https = require('https');

// 创建跳过证书验证的Agent
const httpsAgent = new https.Agent({
  rejectUnauthorized: false
});

const url = "https://yts.torrentbay.to/api/v2/list_movies.jsonp?query_term=shrek";

router.get("/search=:search", async (req, res) => {
  try {
    await http.get(url, { httpsAgent });
    res.send("Response");
  } catch (error) {
    console.error(error);
    res.status(500).send(error.message);
  }
});

3. 检查Azure网络限制

  • 进入Azure Web App的「网络」->「出站流量限制」,确认是否有规则拦截了yts.torrentbay.to的域名或IP;
  • 若使用VNet集成,检查VNet的网络安全组(NSG)出站规则,是否允许访问目标域名的443端口;
  • 查看「配置」->「常规设置」,确认是否开启「HTTPS only」,确保出站请求支持HTTPS。

4. 调整目标请求格式

目标URL为jsonp格式,可尝试切换为JSON接口(若支持),将.jsonp改为.json,避免jsonp回调处理在Azure环境中出现异常:

const url = "https://yts.torrentbay.to/api/v2/list_movies.json?query_term=shrek";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:18:17