1、背景:nodejs后端调用三方服务sdk,运行主机在公司内外有网址过滤,无法连接到三方服务地址,设置代码走代理后服务调用正常。
2、方法:
修改node_modules\rest-facade\src\Client.js代码,让网络连接能够走系统代理

if (proxy) {
req = req.proxy(proxy);
}
修改成
if (proxy) {
req = req.proxy(proxy);
} else {
req = req.proxy();
}
修改之后设置代理环境变量或者执行环境变量,重新执行程序调用服务正常。
set http_proxy=http://xxx
set https_proxy=https://xxx

如果执行npm install的话,可能会更新node_modules代码,需要重新修改。
本文介绍了如何在nodejs项目中,由于网络过滤导致无法访问外部服务,通过修改rest-facade模块并配置系统代理,成功实现服务调用的解决方案。涉及代码调整和环境变量设置,以确保在npminstall更新后仍保持功能正常。
3174

被折叠的 条评论
为什么被折叠?



