Сервер REST Hyperledger Angular Web App не может подключиться к серверу REST вне локального хоста
Я начинаю с великолепных руководств по 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
Кажется, это работает, потому что я получаю предупреждение безопасности об отключении проверки хоста, но это не решает проблему.
Любые предложения будут высоко ценится. Заранее спасибо.
3 ответа
Я решил это. Было легко исправить. Мне нужно было отредактировать файл: my-app/src/app/configuration.ts. Линия
public ApiIP: string = "localhost";
Измените это на ваш внешний IP.
У меня есть эта среда:
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?" от "Пространства имен не используются" до "Пространства имен используются", и это сработало, я не уверен, поможет ли это вам.
Похоже, вам нужно дать ему имя хоста, к которому он может разрешить.
Я полагаю, что это в параметре "host:" в файле server/config.json в сгенерированном каталоге приложения, чтобы назначить новое имя хоста или IP (и убедиться, что вы можете получить к нему доступ в сети, например, маршрутизация и т. Д.).
Я выбрал используемые пространства имен, а также вы должны запустить угловое приложение с npm start
вместо ng serve
Эти две вещи решили мою проблему, надеюсь, она будет вам полезна.