webpack-dev-middleware с HMR за обратным прокси в IIS
Я пытаюсь настроить веб-пакет с горячей заменой модуля и достичь его через обратный прокси-сервер в IIS с помощью модуля перезаписи
Мое простое правило переписывания:
<rewrite>
<rules>
<clear />
<rule name="ReverseProxyTEST" stopProcessing="true">
<match url="^test/(.*)" />
<action type="Rewrite" url="http://127.0.0.1:8080/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
т.е. переписывание localhost/test/__webpack_hmr -> localhost:8080/__webpack_hmr
И мой конфиг веб-пакета:
var webpack = require('webpack');
var express = require('express');
var config = {
devtool: 'cheap-module-eval-source-map',
entry: [
'webpack-hot-middleware/client?path=http://localhost/test/__webpack_hmr',
'./src/index'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
...
}
var app = express();
var compiler = webpack(config);
app.use(require('webpack-dev-middleware')(compiler, {
publicPath: config.output.publicPath
}));
Я запускаю сервер веб-пакетов через порт 8080, и если я захожу на сайт по адресу http://localhost:8080/ или вручную ввожу http://localhost:8080/__webpack_hmr в браузере, все работает нормально.
Но если я пытаюсь получить доступ к сайту через http://localhost/test или вручную ввести http://localhost/test/__webpack_hmr в браузере, запрос / test работает, как и ожидалось, но http://localhost/test/__webpack_hmr запрос проходит и остается открытым, но данные не передаются обратно.
Я убедился, что обратный прокси работает. Есть ли какие-то опции в веб-пакете, которые мне нужно использовать, чтобы заставить это работать?