微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使 nodeJS http 服务器可以从外部访问?

如何解决如何使 nodeJS http 服务器可以从外部访问?

所以,我有一个我在本地测试过的 nodeJS http 服务器,它可以工作。但是当我在外部尝试时,它说“连接超时”

这是我的服务器代码

const http = require('http');
const requestListener = function (req,res) {
    console.log(req);
    res.writeHead(200);
    res.end('NodeJS server testing.');
}

const server = http.createServer(requestListener);
server.listen(8080,"0.0.0.0",() => {
    console.log("http server listening");
});

我尝试了输入后显示的 IP 地址:

hostname -I

它有效。

$ curl [my-local-hostname]:8080
NodeJS server testing.#

但是IP地址来自

$ curl ifconfig.co

或者,

$ curl ifconfig.me

不起作用。

$ curl [my-external-hostname]:8080
curl: (28) Failed to connect to 37.111.219.65 port 8080: Connection timed out

我也从其他设备尝试过。但它不起作用。 有什么解决办法吗?

解决方法

似乎防火墙阻止了 8080 端口。尝试打开服务器8080端口

,

您是否尝试让多个节点应用在本地相互连接?

您是否尝试在未添加端口的情况下访问它,或者尝试将端口从 8080 更改为其他端口,您可能还想尝试使用 localhost ip 地址,例如 http://127.0.0.1:8080

如果部署在有静态ip的服务器设备上,你 a) 防火墙 8080 端口上的所有传入连接 b) 使用某种 http 服务器来处理传入连接,如 nginx,带有代理通道?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。