webpack-dev-server: směrujte volání HTTPS API přes podnikovou proxy
Přidejte HttpsProxyAgent do stávajícího proxy middlewaru webpack-dev-server a zachovejte cíl i přepisování cesty.
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 APItarget 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.