【问题标题】:Trying to change port to 80 on webpack-dev-server gives error尝试在 webpack-dev-server 上将端口更改为 80 会出错
【发布时间】: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

标签: webpack webpack-dev-server


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如何解决

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

    为什么它不起作用

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

    【讨论】:

      猜你喜欢
      • 2018-03-25
      • 2012-02-17
      • 2017-03-29
      • 2018-01-14
      • 2019-11-08
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      相关资源
      最近更新 更多