如何解决Ubuntu 用户无法打开端口来侦听 IP V6 地址
我有一个 Nodejs 应用程序,它将侦听 IPV6 地址。但是当我通过普通用户运行它时,它没有运行。但是当我用 Sudo 运行它时,它正在运行并监听 80 端口。看来我的普通用户无法打开用于侦听 IPV6 地址的端口。请帮忙。
应用:
$ cat app2
#!/bin/bash
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
node $SCRIPTPATH/lib/app2.js
$cat app2.js
const hn="::",s=require("http").createServer((e,t)=>{t.statusCode=200,t.setHeader("Content-
Type","text/html"),t.end("<htm><body><h1>Hello World</h1></body>
</html>")});
s.listen(0x50,hn,_=>console.log("Server is running"));
process.on('uncaughtException',_=>{console.log("Error")});
普通用户会报错。
$ ./app2
Error
以Sudo权限运行
$ sudo ./app2
Server is running
它正在监听 IPV6 的 80 端口
$ sudo lsof -i -P -n | grep LISTEN
systemd-r 533 systemd-resolve 13u IPv4 18587 0t0 TCP 127.0.0.53:53 (LISTEN)
sshd 689 root 3u IPv4 110220 0t0 TCP *:22 (LISTEN)
sshd 689 root 4u IPv6 110222 0t0 TCP *:22 (LISTEN)
node 8034 root 18u IPv6 134249 0t0 TCP *:80 (LISTEN)
这是一台 Ubuntu 机器。
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。