尝试在 webpack-dev-server 上将端口更改为 80 会出错

Posted

技术标签:

【中文标题】尝试在 webpack-dev-server 上将端口更改为 80 会出错【英文标题】:Trying to change port to 80 on webpack-dev-server gives error 【发布时间】:2017-09-07 04:02:05 【问题描述】:

我的包 json 中有这个:

webpack-dev-server --config config/webpack.config.js --port 80

我也尝试将端口添加到配置中,如下所示:

devServer: 
  historyApiFallback: true,
  host: '0.0.0.0',
  port: '80',
,

它给出了同样的错误:

webpack-dev-server --config config/webpack.config.js --port 80

loader option has been deprecated - replace with "use"
events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 127.0.0.1:80
    at Object.exports._errnoException (util.js:1034:11)
    at exports._exceptionWithHostPort (util.js:1057:20)
    at Server._listen2 (net.js:1257:19)
    at listen (net.js:1306:10)
    at doListening (net.js:1421:7)
    at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)

对我做错的事情或与错误相关的任何帮助表示赞赏。谢谢

【问题讨论】:

普通用户不能绑定80端口,1024以下的端口需要root/adminstrator权限。这就是为什么这些进程一般都使用3000或8080之类的端口。为什么要在80端口上运行呢? 如果你在 Mac 上,会使用 sudo help 吗? sudo webpack-dev-server --config config/webpack.config.js --port 80 【参考方案1】:

我使用的是 Ubuntu,并且在端口 80 上遇到了完全相同的问题。在“npm run dev”前面添加“sudo”后,问题就消失了。

【讨论】:

【参考方案2】:

如何解决

您需要使用 sudo 以 root 身份运行,或者设置一个代理,将端口 80 上的请求重定向到超过 1024 的端口。

为什么它不起作用

普通用户无法监听低于 1024 的端口,因此无法监听 80 端口。

【讨论】:

以上是关于尝试在 webpack-dev-server 上将端口更改为 80 会出错的主要内容,如果未能解决你的问题,请参考以下文章

用于 CORS 请求的 webpack-dev-server 配置

当我尝试运行我的 webpack-dev-server 时,它给了我以下错误,找不到该模块

尝试在运行 docker-toolbox 的 Windows 上使用 docker-compose 在 docker 容器内运行 webpack-dev-server 时出现“来自服务器的空回复”

在 Docker 容器中调试 webpack-dev-server 应用程序

需要安装'webpack-dev-server'

尝试在 DBFS 上将 Spark Dataframe 以 CSV 格式保存到磁盘