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

时间:2018-06-25 15:02:13

标签: server ip json-server

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

enter image description here

@fvu提到here

  

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

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

6 个答案:

答案 0 :(得分:21)

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

SETEX

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

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

所有需要做的事情:

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

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

答案 1 :(得分:4)

本地主机(如果您将使用同一设备)

  

json-server --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-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。

答案 2 :(得分:1)

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

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

希望有帮助!

答案 3 :(得分:1)

另一个对我有用的选项:

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

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

sudo ufw allow 3000

答案 4 :(得分:1)

在命令行中输入以下内容:

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

我用了这个,例如:

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

答案 5 :(得分:0)

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