json-服务器无法通过本地IP访问

json-server cannot access via local IP

我正在使用 here 中的 npm json-server。它曾经非常适合我的需要:运行 我 PC 上的服务器并向本地 IP (192.168.1.XX) 发送 GET 请求。我重新安装了它,现在我只能向 localhost127.0.0.1 发送请求。无法再向本地 IP (cmd ipconfig) 发出请求。我收到此错误:

如@fvu 所述

this means that the server software is configured to listen on the localhost interface only. This is a configuration item and to avoid exposing a potentially unsecure server many server programs come preconfigured to listen on localhost only.

那么,只要 json-server 没有 enable/disable 的一些额外参数,有没有办法通过本地 IP 访问此服务器?

我找到了这个问题的解决方案:

json-server --host 192.168.1.XXX my_file.json

使用此命令,服务器部署在我的本地 IP 上,Windows 请求防火墙例外。

另一个解决方案是切换到 .NET server - 另一个 免费的简单伪造服务器 ,我可以在其中设置本地 IP 作为端点。

所有需要的:

  1. install .NET
  2. 使用CMD命令:

       git clone https://github.com/ttu/dotnet-fake-json-server.git
       cd dotnet-fake-json-server/FakeServer
       dotnet run [--file] [--urls]
    
        #like so in my case:
        dotnet run --file_data.json --urls http://192.168.1.192:57602
    

这是另一种对我有用的方法。如果您使用本地 LAN IP(例如 192.168.1.45)启动 json-server,您可以使用 IP 地址访问服务器(但由于某种原因不能访问 localhost)。例如...

json-server [insert your JSON file] --host [insert your LAN IP]

希望对您有所帮助!

本地主机,如果您将使用相同的设备:

json-server --watch filename.json

localhost IP 是 127.0.0.1 所以,你可以通过 2 种方式访问​​这个 filename.json, 通过

  1. http://localhost:8000/filename.json
  2. http://127.0.0.1:8000/filename.json

如果您想从另一个 computer/mobile 设备访问本地主机,请输入您计算机的 IPV4 地址

json-server --host 192.168.0.xx file.json

您还可以使用以下命令分配您自己的端口号

json-server --host 192.168.0.xx file.json --port 4000

然后 运行 它在使用

连接到同一网络的任何设备上
  1. http://192.168.0.xx:4000/file.json

最后,如果你不明白我从哪里获取这个主机 IP, 转到 命令提示符 > 配置 /all 并查找 IPv4 地址,将该地址复制粘贴到此 URL,请记住设备应该在同一网络上访问此 IP。

另一个对我有用的选项:

json-server -H 0.0.0.0 -p 3000 -w db.json

注意:您需要通过防火墙为 TCP/UDP 启用端口 3000。像这样

sudo ufw allow 3000

在命令行中输入:

npx json-server <folder/filename> --port <whatever port you want>

我用过这个,例如:

npx json-server api/db.json --port 3000 

我的假 json-server 在 vagrant 机器上 运行ning 作为 192.168.100 我正在使用 React 应用程序来使用它并遇到同样的问题,所以我 运行 在我的流浪机器(来宾 OS)上执行此命令,此后一切正常。即我可以像这样访问我的 API

192.168.1.100/tasks


npx json-server --watch db.json --port 8000 -H 192.168.1.100

这里db.json是我的数据文件,由JSON组成 端口是8000 主机是 192.168.1.100,这是我的 server/vagrant 机器

的 IP 地址

并且不要忘记在防火墙上允许端口 (Linux)

sudo ufw allow 8000