我正在使用docker-compose在0.0.0.0:80提供django,在0.0.0.0:3000提供webpack-dev-server。它们都在0.0.0.0
完美运行我也有域绑定到我的外部IP,我甚至可以从这个域访问django。但不知何故,我无法通过外部IP或域访问webpack-dev-server。
以下是一些其他数据:
搬运工-compose.yml
web:
build: backend/
command: sh dockerfiles/init.sh
ports:
- 0.0.0.0:80:80
js:
build: webclient/
command: yarn runserver
ports:
- 0.0.0.0:3000:3000
如你所见,他们在这里的服务方式相同
server.js
new WebpackDevServer(
webpack(config),
{
publicPath: config.output.publicPath,
hot: true,
historyApiFallback: true,
allowedHosts: [
'0.0.0.0',
'localhost',
'DOMAIN',
'*.DOMAIN'
],
headers: {
"Access-Control-Allow-Origin": "*"
}
}
).listen(3000, '0.0.0.0', function (err, result) {
if (err) {
console.log(err)
}
console.log('Listening at 0.0.0.0:3000')
})
当我ping端口0.0.0.0:3000时 - 端口已打开。当我ping DOMAIN:3000时 - 端口关闭。
你有什么想法吗?
答案 0 :(得分:1)
您需要使用disableHostCheck
:
{
publicPath: config.output.publicPath,
hot: true,
historyApiFallback: true,
disableHostCheck: true, // <------ here is the missing piece
allowedHosts: [
'0.0.0.0',
'localhost',
'DOMAIN',
'*.DOMAIN'
],
headers: {
"Access-Control-Allow-Origin": "*"
}
}