29

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

在此处输入图像描述

正如@fvu 提到的这里

这意味着服务器软件配置为仅侦听 localhost 接口。这是一个配置项,为了避免暴露潜在的不安全服务器,许多服务器程序预配置为仅在 localhost 上侦听。

那么,只要 json-server 没有一些额外的参数来启用/禁用它,有没有办法通过本地 IP 访问该服务器?

4

6 回答 6

74

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

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

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

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

它只需要:

  1. 安装 .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
    
于 2018-06-26T07:28:56.987 回答
15

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

json-server --watch 文件名.json

本地主机 IP 是 127.0.0.1 因此,您可以通过 2 种方式访问​​此 filename.json,或者通过

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

如果您想从另一台计算机/移动设备访问本地主机,请放置您计算机的 IPV4 地址

json-server --host 192.168.0.xx 文件.json

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

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

然后在使用同一网络连接的任何设备上运行它

  1. http://192.168.0.xx:4000/file.json

最后,如果您不明白我从哪里获取此主机 IP,请转到命令提示符 > config /all并查找IPv4 地址,将该地址复制粘贴到此 URL,请记住设备应位于同一网络上才能访问此 IP .

于 2019-01-02T12:54:02.400 回答
9

另一个对我有用的选择:

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

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

sudo ufw allow 3000
于 2019-03-22T20:43:22.890 回答
3

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

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

希望有帮助!

于 2018-07-13T18:31:23.177 回答
3

我的假 json-server 在 vagrant 机器上作为 192.168.100 运行,我正在使用 React 应用程序来使用它并面临同样的问题,所以我在我的 vagrant 机器(来宾操作系统)上运行此命令,此后一切正常。即我可以像这样访问我的 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 这是我的服务器/流浪机器的 IP 地址

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

sudo ufw allow 8000
于 2021-06-21T12:22:12.583 回答
1

在命令行中输入:

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

我用这个,例如:

npx json-server api/db.json --port 3000 
于 2020-04-18T07:21:30.380 回答