У меня есть проект, который вызывает публичный API. Чтобы это работало, мне нужно перенаправить все вызовы этого API через корпоративный прокси. Я смог сделать это через файл proxy.conf.js:
const HttpsProxyAgent = require('https-proxy-agent');
const proxyConfig = [
{
context: '/public-api',
target: 'https://public-api.com',
secure: false,
changeOrigin: true,
pathRewrite: {
'^/public-api': ''
},
},
{
context: '/backend',
target: "http://localhost:8080",
// What to do here to ignore corporate proxy??
}
];
function setupForCorporateProxy(proxyConfig) {
// const proxyServer = process.env.http_proxy || process.env.HTTP_PROXY;
const proxyServer = process.env.npm_config_proxy;
if (proxyServer) {
const agent = new HttpsProxyAgent(proxyServer);
console.log('Using corporate proxy server: ' + proxyServer);
proxyConfig.forEach(function (entry) {
entry.agent = agent;
});
}
return proxyConfig;
}
module.exports = setupForCorporateProxy(proxyConfig);
Публичные вызовы API работают отлично. Однако звонки на мой обычный бэкэнд также проходят через корпоративный прокси, который не нужен. Как я могу исправить свою конфигурацию, чтобы использовать прокси-сервер только при вызове public-api?