Сервер Hyperledger REST Получение веб-приложения Angular не может подключиться к серверу REST за пределами localhost

Чтобы начать работу, я следую отличным руководствам по Hyperledger Composer, здесь. Мне удалось запустить все, включая REST Server и веб-приложение Skeleton Angular поверх него.

Проблема возникает, когда я пытаюсь использовать приложение за пределами localhost. Я могу получить доступ к серверу REST через порт 3000 и взаимодействовать с ним (добавление, удаление, обновление). Я также могу получить доступ к приложению (порт 4200), но когда я пытаюсь взаимодействовать с ним, я получаю следующее:

Error: Could not connect to REST server. Please check your configuration details

Я попытался обновить angular-cli для поддержки моего текущего сценария запуска: ng serve --host 0.0.0.0 --disable-host-check --public my.ip.address.here:4200, похоже, он работает, потому что я получаю предупреждение системы безопасности об отключении проверки хоста, но это не решает проблему.

Любые предложения будут высоко ценится. Заранее спасибо.


person Frithiof    schedule 04.10.2017    source источник


Ответы (4)


Я решил это. Было легко исправить. Мне нужно было отредактировать файл: my-app / src / app / configuration.ts. Линия

public ApiIP: string = "localhost";

Измените это на свой внешний IP-адрес.

person Frithiof    schedule 10.10.2017
comment
Теперь я получаю сообщение об ошибке Ошибка: 404 - Не удалось найти маршрут API. Пожалуйста, проверьте доступные API. делая вышеупомянутое. Что случилось? - person Marcus Streips; 11.11.2017

звучит так, как будто вам нужно дать ему имя хоста, которое он может разрешить.

Я считаю, что это параметр «host:» в файле server / config.json в созданном вами каталоге приложения для назначения нового имени хоста или IP (и убедитесь, что вы можете получить к нему доступ в сети, например, маршрутизация и т. Д.).

person Paul O'Mahony    schedule 04.10.2017
comment
В каталоге my-app я не могу найти папку сервера. Конфигурация находится где-то в подпапках node_modules? Итак, идея состоит в том, чтобы назначить host: моим публичным IP-адресом? Мне кажется странным, что я могу получить доступ как к приложению REST Server, так и к приложению Angular из Интернета, но эта конкретная ошибка не может исчезнуть, если я не использую ее локально. - person Frithiof; 04.10.2017

у меня есть эта среда:

Hyperledger Fabric v1.2
firefox v61.0.2 , node v8.11.3, Composer v0.20, yo v2.0.5
macOS 10.13.5

У меня была такая же ошибка, поэтому я изменил ответ «Следует ли использовать пространства имен в сгенерированном REST API?» от «Пространства имен не используются» до «Пространства имен используются», и это сработало, я не уверен, поможет ли это вам.

person icy3    schedule 29.08.2018

Я выбрал используемые пространства имен, а также вам нужно запустить приложение angular с npm start вместо ng serve. Эти две вещи решили мою проблему, надеюсь, это будет полезно для вас.

person Naveen Raju    schedule 22.03.2019