gpt4 book ai didi

node.js - 主机名不工作node.js

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:04 25 4
gpt4 key购买 nike

我的代码如下:

    var http = require('http');
var static = require('node-static');
var file = new static.Server();

http.createServer(function (req, res) {
file.serve(req, res);
}).listen(1337, '127.0.0.1');

当 url 为 localhost:1337/1.html 时,它工作正常。但是,如果我将其更改为主机名:1337/,其中“主机名”是我的服务器的主机名,则会出现无法建立连接错误。在 PHP 中,我可以轻松地将 127.0.0.1 或 localhost 替换为主机名。为什么在 Node.js 中不能实现同样的功能?

最佳答案

所以问题是,当你的浏览器解析“主机名”时,DNS 会给它你的本地网络 IP 地址,如 192.168.0.42,但你的代码告诉 Node 监听一个且只有一个 IP 地址:127.0.0.1,因此连接不起作用。将 Node 代码中的“127.0.0.1”替换为“0.0.0.0”(这意味着“所有 IP 地址”),一切都会正常。请注意,本地网络上的其他计算机(例如咖啡店 WiFi 网络中的其他计算机)将能够连接到您的应用程序,这就是为什么坚持使用环回 IP 地址 (127.0.0.1) 和“localhost”进行开发是更好的选择。

关于node.js - 主机名不工作node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com