webpack-dev-server: HTTPS API ਕਾਲਾਂ ਨੂੰ ਕਾਰਪੋਰੇਟ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਰੂਟ ਕਰੋ
webpack-dev-server ਦੇ ਮੌਜੂਦਾ ਪ੍ਰੌਕਸੀ ਮਿਡਲਵੇਅਰ ਨੂੰ HttpsProxyAgent ਦਿਓ ਅਤੇ ਇਸ ਦਾ ਟਾਰਗਿਟ ਤੇ ਪਾਥ-ਰੀਰਾਈਟ ਬਰਕਰਾਰ ਰੱਖੋ।
webpack.config.mjs ਵਿੱਚ ਮੌਜੂਦਾ ਪ੍ਰੌਕਸੀ-ਐਰੇ ਰੂਪ ਨਾਲ Node-ਪਾਸੇ ਦਾ API ਕਨੈਕਸ਼ਨ ਕਨਫਿਗਰ ਕਰੋ:
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 APItarget ਅਸਲ HTTPS API ਹੀ ਰਹਿੰਦਾ ਹੈ। ਏਜੰਟ, ਜਿਸ ਨੂੰ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਉਪਲਬਧ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ, HTTP ਵਿਚੋਲੇ ਰਾਹੀਂ ਮਾਰਗ ਦੀ ਗੱਲਬਾਤ ਕਰਦਾ ਹੈ।
context ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਦਿਸਣ ਵਾਲੇ ਬੇਨਤੀ-ਮਾਰਗ ਚੁਣਦਾ ਹੈ; pathRewrite ਵਿਕਾਸ-ਉਪਸਰਗ ਹਟਾਉਂਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਕਾਰਪੋਰੇਟ ਪ੍ਰੌਕਸੀ ਦਾ ਨਾਮ ਨਹੀਂ ਲੈਂਦਾ। API ਜਿਸ ਮਾਰਗ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ ਉਸ ਲਈ ਇਹ ਮੈਪਿੰਗ ਰੱਖੋ।
API ਦੀ ਅਸਵੀਕ੍ਰਿਤੀ ਤੇ ਆਵਾਜਾਈ ਫੇਲ੍ਹ ਹੋਣਾ ਵੱਖਰਾ ਪਛਾਣਿਆ ਜਾ ਸਕੇ ਇਸ ਲਈ ਮਿਡਲਵੇਅਰ ਦੀ ਆਮ ਸਟ੍ਰੀਮਿੰਗ ਤੇ ਜਵਾਬ ਸੰਭਾਲ ਵਰਤੋ। ਹਮੇਸ਼ਾ 200 ਵਾਪਸ ਕਰਨ ਵਾਲਾ ਦੂਜਾ ਹੱਥ ਨਾਲ ਲਿਖਿਆ ਰਿਲੇ ਉਹ ਨਤੀਜਾ ਲੁਕਾ ਦੇਵੇਗਾ।
ਬ੍ਰਾਊਜ਼ਰ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਤੇ npm ਦਾ ਪੈਕੇਜ-ਡਾਊਨਲੋਡ ਪ੍ਰੌਕਸੀ ਹੋਰ ਖਪਤਕਾਰਾਂ ਨੂੰ ਕਨਫਿਗਰ ਕਰਦੇ ਹਨ। ਇਹ ਸੈਟਿੰਗ ਬਾਹਰੀ API ਕਾਲ ਕਰਨ ਵਾਲੀ webpack ਪ੍ਰਕਿਰਿਆ ਦੀ ਹੈ।