无法从https://localhost节点应用程序调用http://localhost Azure函数



我有一个Node.js Azure函数运行在Windows 11系统上http://localhost:7071/api/FunctionName.

我可以通过从浏览器窗口调用它来执行函数,没有问题。

现在,当我使用axios或fetch从本地主机上运行的另一个节点应用程序调用它时,我得到一个ECONNREFUSED错误。

无论我是从NPM启动还是在VS Code中运行,我都会得到相同的结果。它在一个系统上运行良好。

有什么建议吗?

谢谢。

我刚刚找到了一个修复方法-直接调用本地主机IP地址:http://127.0.0.1/api/FunctionName.

现在我需要弄清楚是什么导致了配置的改变。

自节点17起,本地主机的DNS解析发生了重大变化。

你的解决方案很好,因为提供Ip显式地阻止了dns解析机制。

其他可能的解决方案:

1-强制节点应用程序首先使用ipv4:

const dns = require('dns');
dns.setDefaultResultOrder('ipv4first');

2 -降级节点到版本16

这个问题也报告在github上:# 40702

最新更新