1

我看过这个问题,但就我而言,我已经尝试过,我认为所有答案都没有成功。我必须通过团队正在开发的应用程序中的 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(',');
        }
    }
};

4

0 回答 0