我看过这个问题,但就我而言,我已经尝试过,我认为所有答案都没有成功。我必须通过团队正在开发的应用程序中的 VPN 使用 Windows 凭据进行身份验证,然后当我们想要测试更改时,我们会执行ng serve --port 4200 --proxy-config proxy.config.js我们都会得到这个..
[HPM] 尝试将请求 http://localhost:4200/api/users/currentuser 从 localhost:4200 代理到 http://localhost:4200 (ECONNRESET) 时发生错误(https://nodejs.org/api/errors .html#errors_common_system_errors)
我们通过部署到后端 NET Core Web 项目 wwwroot 文件夹来解决这个问题,但是我们失去了 ng serve 和 Angular Development Live Server 的调试功能。每次构建和复制以可视化前端的任何大小变化都非常耗时。有趣的是,团队中有一个人可以从 http://localhost:4200 为完整的 Angular 应用程序提供服务
我们一直在使用 thoguh VPN,所以不确定直接连接到公司网络会如何表现。
我只使用 api 和 graphql 上下文,这是我的代理文件。
const Agent = require('agentkeepalive');
// I tried also with NTLM version with same issue result
// const Agent = require('agentkeepalive-ntlm');
module.exports = {
'/api': {
target: 'http://localhost:53904',
secure: false,
pathRewrite : {"^/api" : "http://localhost:53904/api"},
agent: new Agent({
maxSockets: 100,
keepAlive: true,
maxFreeSockets: 10,
keepAliveMsecs: 100000,
timeout: 6000000,
keepAliveTimeout: 90000
}),
onProxyRes: proxyRes => {
let key = 'www-authenticate';
proxyRes.headers[key] = proxyRes.headers[key] &&
proxyRes.headers[key].split(',');
}
},
'/graphql': {
target: 'http://localhost:53904',
secure: false,
pathRewrite : {"^/graphql" : "http://localhost:53904/graphql"},
agent: new Agent({
maxSockets: 100,
keepAlive: true,
maxFreeSockets: 10,
keepAliveMsecs: 100000,
timeout: 6000000,
keepAliveTimeout: 90000
}),
onProxyRes: proxyRes => {
let key = 'www-authenticate';
proxyRes.headers[key] = proxyRes.headers[key] &&
proxyRes.headers[key].split(',');
}
}
};