我正在使用here中的npm json-server
。它曾经非常适合我的需求:在PC上运行服务器,并向本地IP(192.168.1.XX)发出GET
请求。我重新安装了它,现在我只能向 localhost 或 127.0.0.1 发出请求。不再对本地IP(cmd ipconfig)发出请求。我收到此错误:
@fvu提到here
这意味着服务器软件配置为仅在localhost接口上侦听。这是一个配置项,为避免暴露潜在的不安全服务器,许多服务器程序已预先配置为仅在本地主机上侦听。
因此,只要json-server没有启用/禁用它的一些额外参数,是否有办法通过本地IP访问该服务器?
答案 0 :(得分:21)
我找到了解决此问题的方法:
SETEX
使用此命令,服务器部署在我的本地IP上,Windows要求防火墙例外。
另一种解决方案是切换到.NET server-另一个免费的简单伪造服务器,我可以在其中设置本地IP作为端点。
所有需要做的事情:
使用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, 要么
如果要从另一台计算机/移动设备访问本地主机,请放置计算机的IPV4地址
json-server --host 192.168.0.xx file.json
您还可以使用以下命令分配自己的端口号:
json-server --host 192.168.0.xx file.json --port 4000
然后在使用以下命令连接到同一网络的任何设备上运行它
最后,如果您不了解我从何处获取此主机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