我在端口 9000 上运行一个非常简单的 http 服务器。我可以通过 正常访问它http://localhost:9000
,但当我尝试通过我的 IP 地址(通过执行ipconfig
并从“无线 LAN 适配器 Wi-Fi”中获取 IPv4 地址)从同一台机器(运行服务器的机器)在同一端口 9000 上访问它时,找不到该服务器。我关闭了公共和私人防火墙来测试这一点。
我还尝试在路由器中添加“虚拟服务器”端口转发,虽然我认为我不应该这样做,但这没有帮助。
是什么原因导致我的电脑无法通过 LAN IP 地址找到自己的服务器?我的最终目标是能够通过连接到 wifi 的手机访问该服务器,但这是第一步。
我正在运行 Windows 8.1。
根据大家的要求,这是我通过 node.js 运行的服务器:
var http = require('http')
var url = require('url')
http.createServer(function (request, response) {
response.writeHead(200)
response.write("what")
response.end()
}).listen(9000)
答案1
确保没有其他程序占用相关端口。这可能包括其他软件、虚拟机或 Windows 本身。此外,在 Windows 防火墙中添加端口例外并将其重新打开以确保安全。
netsh advfirewall set allrprofiles state on
netsh advfirewall firewall add rule name="Name" dir=in action=allow protocol=TCP localport=9000
netsh advfirewall firewall add rule name="Name" dir=out action=allow protocol=TCP localport=9000
将名称替换为您想要的名称。