I'm having a webpack-dev-server enabled with watcher and reload on every change.
This frontend dev server is in docker container, and is proxying everything to another docker container, backend, which is using server-side-rendering.
So, frontend has exposed port 8080 to host machine. When you visit localhost:8080, it proxies everything to nginx:8000, which then servers php files (including the HTML code of this server).
devServer: {
port: 8080,
host: '0.0.0.0', // to accept connections from outside container
disableHostCheck: true,
watchOptions: {
poll: 1000
},
writeToDisk: true,
proxy: {
"**": {
target: "http://nginx:80", // Proxy to backend
changeOrigin: true,
secure: false,
logLevel: "debug",
}
}
}
That works fine, unless the server sends redirect. In that case, the proxied response has location nginx:8000<redirected_url>.
How to handle such case?
According to documentation, webpack dev server uses a http-proxy-middleware.
I tried it's options autoRewrite:true and hostRewrite:true but it didn't work.