webpack-dev-server: usmerite klice HTTPS API skozi poslovni proxy
Dodajte HttpsProxyAgent obstoječemu proxy middlewareu v webpack-dev-serveru, ob ohranitvi cilja in prepisovanja poti.
Konfigurirajte povezavo z API na strani Node v webpack.config.mjs s trenutno obliko polja 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': '' },
}],
},
};Pot je:
browser → webpack dev server → corporate proxy → HTTPS APItarget ostaja pravi HTTPS API. Agent, za katerega se predpostavlja, da je v projektu že na voljo, se pogaja o poti prek posrednika HTTP.
context izbere poti zahtev, ki jih vidi brskalnik; pathRewrite odstrani razvojno predpono. Nobeno od njiju ne poimenuje poslovnega proxyja. Ohranite te preslikave za pot, ki jo API pričakuje.
Uporabite običajno pretakanje in obdelavo odgovorov middlewarea, da ostaneta zavrnitev API in napaka prenosa razločljivi. Drugi ročno napisan relej, ki bi vedno vrnil 200, bi ta rezultat skril.
Nastavitve proxyja brskalnika in proxy za prenos paketov npm konfigurirajo druge uporabnike. Ta nastavitev pripada procesu webpack, ki izvede zunanji klic API.