I have webpack with HMR. While I run app from local IP, page connect with http://192.168.0.123:12345/__webpack_hmr
.
But when I run form my temp domain https://exampledomain.com/__webpack_hmr
page is loading, but return 502.
All page is wornkig on both adress, but /__webpack_hmr
not.
I think the problem may be with url_revrite, however the rewrite is set from any string.
Any ideas, sugestions?
server/index.js
var express = require('express');
var app = express();
var server = require('http').Server(app);
var webpackConfig = require('./webpack.server.config')
const webpack = require("webpack");
const compiler = webpack(webpackConfig);
app.use(require('webpack-dev-middleware')(compiler));
app.use(require("webpack-hot-middleware")(compiler));
app.get('/', (req, res) => {
res.send(...)
});
server.listen(12345, () => {
console.log('App listening on http://localhost:12345');
});
webpack.server.config.js
const path = require('path');
const webpackNodeExternals = require('webpack-node-externals');
const crypto = require('crypto');
module.exports = {
target: 'node',
entry: [
'webpack-hot-middleware',
'./server/index.js'
],
output: {
path: (process.env.NODE_ENV === 'production') ? path.join(__dirname, './upload_to_server') : path.join(__dirname, './build/server'),
filename: 'app.js'
},
externals: [webpackNodeExternals()],
module: {
rules: [{
test: /\.less$/,
use: [
{
loader: 'css-loader',
options: {
modules: {
exportOnlyLocals: true,
getLocalIdent: (context, localIdentName, localName, options) => {
const coded = Buffer.from(localName, 'utf8').toString('base64');
const result = crypto.createHash('md4').update(coded).digest('hex').substring(0, 8);
if (process.env.NODE_ENV === 'production') {
return result;
} else {
return localName + '_' + result;
}
},
localIdentName: '[local]',
},
sourceMap: process.env.NODE_ENV !== 'production'
}
},
]
}],
},
devServer: {
devMiddleware: {
writeToDisk: true
},
historyApiFallback: true,
hot: true
}
}
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="url_revrite" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://192.168.0.123:12345/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>