Node.js Ubuntu:80端口上的Http服务器正在启动,但可以';无法从浏览器访问?

Node.js Ubuntu:80端口上的Http服务器正在启动,但可以';无法从浏览器访问?,node.js,ubuntu,npm,httpserver,port80,Node.js,Ubuntu,Npm,Httpserver,Port80,因此,我通过npm在http服务器上运行了一个web应用程序。在我的package.json文件中,我有一行“start”:“sudohttp服务器-a[我的ip地址]-p8065-c-1”,当我转到http://myipaddress:8065。但是,如果我将8065改为仅80,在json文件中(这是我想要的),我仍然会收到成功消息: Starting up http-server, serving ./ Available on: http://myipaddress:80 但是当我转到链

因此,我通过
npm
http服务器上运行了一个web应用程序。在我的
package.json
文件中,我有一行
“start”:“sudohttp服务器-a[我的ip地址]-p8065-c-1”
,当我转到
http://myipaddress:8065
。但是,如果我将8065改为仅80,在json文件中(这是我想要的),我仍然会收到成功消息:

Starting up http-server, serving ./
Available on:
http://myipaddress:80
但是当我转到链接时,chrome给了我一个错误的连接。有人知道发生了什么吗?

快速测试:

尝试将其作为本地主机地址(localhost或127.0.0.1)访问,以快捷方式设置任何潜在防火墙


尝试在端口80上远程登录到此地址,以查看服务器回复的内容(如果有)。

要运行pot小于1000的nodejs应用程序,您需要根访问权限。使用sudo node app.js也别忘了打开防火墙。并确保没有其他人监听端口80。

是否安装了Apache?您确定将应用程序服务器放在端口80上不会与Apache冲突吗


在这种情况下,最好将端口80重定向到仅在Apache端口上启动的应用程序服务器。

我建议这里有三个可能的问题

  • 端口80已在使用中

  • 您没有以root用户身份运行应用程序(无法绑定到端口这是错误102吗?请检查这一点。可能是您安装的某些扩展造成的。

    如何telnet端口80上的地址?$telnet 127.0.0.1 80或者基本上运行命令telnet(您不需要以root用户身份执行此操作)第一个参数是您的地址,第二个参数是端口。
    telnet:无法解析127.0.0.1:80/telnet:名称或服务未知
    nvm我有冒号。没有冒号,它连接成功。我连接到端口80,没有问题。我只是无法从浏览器访问它。
    netstat-lntu | grep:80
    尝试此操作后,我得到:
    tcp 0 myipaddress 0.0.0:*侦听
    我尝试了
    sudohttp服务器-a[我的ip地址]-p 80-c-1
    ,就像
    npm start
    一样,它说连接可用。但是,当我使用浏览器访问该地址时,它说ERR_connection_拒绝。最后,从json包中删除sudo会在控制台中给我一个EACCESS错误。端口80上已经运行了一些东西,您需要关闭它。可能是错误其他web服务器,如apache。请尝试sudo/etc/init.d/apache2 stop,然后再次尝试运行您的应用程序。抱歉,端口80上唯一运行的是我的应用程序。您是否使用socket.io?不,我没有使用socket.io
    netstat -lntu | grep :80
    
    tcp6       0      0 :::80                 :::*                    LISTEN
    
    sudo http-server -a [my ip address] -p 80 -c-1
    
    sudo npm start
    
    "start": "http-server -a [my ip address] -p 8065 -c-1"