json-server无法通过本地IP访问

Cho*_*ski 8 ip server json-server

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

在此输入图像描述

正如@fvu在这里提到的那样

这意味着服务器软件配置为仅侦听localhost接口.这是一个配置项,为了避免暴露可能不安全的服务器,许多服务器程序预先配置为仅在本地主机上侦听.

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

Cho*_*ski 32

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

json-server --host 192.168.1.XXX my_file.json
Run Code Online (Sandbox Code Playgroud)

使用此命令,服务器部署在我的本地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
    
    Run Code Online (Sandbox Code Playgroud)


Pra*_*das 9

另一个对我有用的选择:

json-server -H 0.0.0.0 -p 3000 -w db.json
Run Code Online (Sandbox Code Playgroud)

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

sudo ufw allow 3000
Run Code Online (Sandbox Code Playgroud)


Har*_*ant 7

Localhost(如果您将使用同一设备):

json服务器--watch filename.json

本地主机IP是127.0.0.1,因此,您可以通过以下两种方式访问​​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 file.json

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

json服务器--host 192.168.0.xx文件.json --port 4000

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

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

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