webpack-dev-server: ruter HTTPS API-kall gjennom ein bedriftsproxy
Gi den eksisterande proxy-middewaren til webpack-dev-server ein HttpsProxyAgent, og hald på mål og stiomskriving.
Set opp API-tilkoplinga på Node-sida i webpack.config.mjs med den noverande proxy-array-forma:
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': '' },
}],
},
};Ruta er:
browser → webpack dev server → corporate proxy → HTTPS APItarget er framleis det verkelege HTTPS-API-et. Agenten, som ein reknar med alt finst i prosjektet, forhandlar stien gjennom HTTP-mellomleddet.
context vel førespurnadsstiane nettlesaren ser; pathRewrite fjernar utviklingsprefikset. Ingen av dei nemner bedriftsproxyen. Hald på desse tilordningane for stien API-et ventar.
Bruk den vanlege strauminga og svarshandteringa til middewaren, slik at API-avvising og transportfeil held seg skilbare. Eit andre handskrive relé som alltid returnerer 200, ville skjult det resultatet.
Proxyinnstillingane til nettlesaren og npm sin proxy for pakkenedlasting set opp andre brukarar. Denne innstillinga høyrer til webpack-prosessen som gjer det eksterne API-kallet.