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 запрос проходит и остается открытым, но данные не передаются обратно.

Я убедился, что обратный прокси работает. Есть ли какие-то опции в веб-пакете, которые мне нужно использовать, чтобы заставить это работать?

0 ответов

Другие вопросы по тегам