Hyperledger REST 服务器 Angular Web 应用获取无法连接到本地主机之外的 REST 服务器

Hyperledger REST Server Angular Web App getting could not connect to REST server outside localhost

我正在按照很棒的 Hyperledger Composer 教程 here 开始使用。我已经设法获得所有内容 运行,包括 REST 服务器和其上的骨架 Angular 网络应用程序。

当我尝试在本地主机之外使用该应用程序时出现问题。我可以访问端口 3000 上的 REST 服务器并与之交互(添加、删除、更新)。我也可以访问该应用程序(端口 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 它似乎可以正常工作,因为我收到有关禁用主机检查的安全警告,但实际上没有解决问题。

如有任何建议,我们将不胜感激。先感谢您。

听起来你需要给它一个它可以解析的主机名。

我相信它在 server/config.json 文件中的 "host:" 参数在你生成的应用程序目录中分配一个新的主机名或 IP(并确保你可以访问它网络,例如路由等)。

我解决了。很容易解决。我需要编辑文件: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

我遇到了同样的错误,所以我将 "Should namespaces be used in the generated REST API?" 的答案从 "Namespaces are not used" 更改为 "Namespaces are used" 并且成功了,我不确定这是否有帮助你.

我选择使用命名空间,而且您必须使用 npm start 而不是 ng serve 来启动 angular 应用程序 这两件事解决了我的问题希望对你有所帮助