我有一个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