Настройте подключение к API на стороне Node в webpack.config.mjs, используя текущую форму массива прокси:

import { HttpsProxyAgent } from 'https-proxy-agent';

export default {
  devServer: {
    proxy: [{
      context: ['/api'],
      target: 'https://service.example',
      changeOrigin: true,
      agent: new HttpsProxyAgent('http://proxy.example:8080'),
      pathRewrite: { '^/api': '' },
    }],
  },
};

Маршрут такой:

browser → webpack dev server → corporate proxy → HTTPS API

target остаётся настоящим HTTPS API. Агент, который, как предполагается, уже есть в проекте, согласует путь через HTTP-посредник.

context выбирает пути запросов, видимые браузеру; pathRewrite удаляет префикс разработки. Ни один из них не называет корпоративный прокси. Сохраните эти сопоставления для пути, который ожидает API.

Используйте обычную обработку потоков и ответов middleware, чтобы отказ API и сбой транспорта оставались различимыми. Второй вручную написанный релей, всегда возвращающий 200, скрыл бы этот результат.

Настройки прокси браузера и прокси загрузки пакетов npm настраивают других потребителей. Эта настройка относится к процессу webpack, выполняющему внешний вызов API.

Похожие статьи