JSON-сервер не может получить доступ через локальный IP - PullRequest
0 голосов
/ 25 июня 2018

Я использую npm json-server из здесь . Раньше он отлично работал для моих нужд: запусти сервер на моем ПК и сделай GET запросы на локальный IP (192.168.1.XX). Я переустановил его, и теперь я могу делать запросы только к localhost или 127.0.0.1 . Больше не могу делать запросы к локальному IP (cmd ipconfig). Я получаю эту ошибку:

enter image description here

Как упомянул @fvu здесь

это означает, что серверное программное обеспечение настроено на прослушивание только на локальном интерфейсе. Это элемент конфигурации, и во избежание выявления потенциально незащищенного сервера многие серверные программы предварительно настроены на прослушивание только на локальном хосте.

Так есть ли способ получить доступ к этому серверу через локальный IP-адрес, если у json-server нет дополнительных параметров для его включения / выключения?

Ответы [ 4 ]

0 голосов
/ 22 марта 2019

Еще один вариант, который работал для меня:

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

Примечание. Однако необходимо включить порт 3000 для TCP / UDP через брандмауэр.Как то так

sudo ufw allow 3000
0 голосов
/ 13 июля 2018

Вот еще один метод, который работал для меня.Если вы запускаете json-сервер, используя IP-адрес вашей локальной сети (например, 192.168.1.45), вы можете получить доступ к серверу, используя IP-адрес (но по какой-то причине не локальный).Например ...

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

Надеюсь, это поможет!

0 голосов
/ 02 января 2019

Localhost, если вы будете использовать то же устройство:

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

В случае, если вы хотите получить доступ к localhost изна другом компьютере / мобильном устройстве укажите 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.

0 голосов
/ 26 июня 2018

Я нашел решение для этой проблемы:

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
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...