Nakonfigurujte připojení k API na straně Node v webpack.config.mjs pomocí aktuální podoby pole proxy:

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': '' },
    }],
  },
};

Trasa je:

browser → webpack dev server → corporate proxy → HTTPS API

target zůstává skutečné HTTPS API. Agent, o němž se předpokládá, že už v projektu je, vyjednává cestu přes HTTP prostředníka.

context vybírá cesty požadavků, které vidí prohlížeč; pathRewrite odstraňuje vývojový prefix. Ani jedno z nich nepojmenovává podnikovou proxy. Zachovejte tato mapování pro cestu, kterou API očekává.

Používejte běžné streamování a zpracování odpovědí middlewaru, aby odmítnutí API a selhání přenosu zůstaly rozlišitelné. Druhý ručně psaný relay, který vždy vrací 200, by tento výsledek skryl.

Nastavení proxy prohlížeče a proxy pro stahování balíčků npm konfigurují jiné spotřebitele. Toto nastavení patří procesu webpack, který provádí externí volání API.

Související články