访问 Hyperldger 资源管理器时出错 "Cannot GET /"

error while accessing Hyperldger explorer "Cannot GET /"

我已经使用 Explorer(最新版本)配置了我们的 Fabric 网络 (v1.4)。

node --version v8.16.0

数据库日志中没有错误 没有应用程序级错误 Explorer 同步过程正在为网络持续进行 能够查看DB中更新的数据 http://localhost:8080/api-docs/ (Explorer Swagger) 工作正常。 但是,在访问 http://localhost:8080/ 时,我得到

无法获取 / 错误。

Chrome 检查日志 -

Failed to load resource: the server responded with a status of http://localhost:8080/ 404 (Not Found)

控制台日志 -

[2020-01-28T22:30:53.167] [INFO] PgService - SSL to Postgresql disabled
[2020-01-28T22:30:53.167] [INFO] PgService - connecting to Postgresql postgres://hppoc:******@127.0.0.1:5432/fabricexplorer
[2020-01-28T22:30:54.285] [INFO] Platform -  client_configs.name  first-network  client_configs.profile  ./connection-profile/first-network.json
[2020-01-28T22:30:54.285] [INFO] Platform - FabricUtils.createFabricClient
[2020-01-28T22:30:54.286] [INFO] FabricConfig - config.client.tlsEnable  true
[2020-01-28T22:30:54.287] [INFO] FabricGateway - peer0.org1.example.com
[2020-01-28T22:30:54.287] [INFO] FabricGateway - /path/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem
adminPrivateKeyPath  /path/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/e65fa2dd29a69b2b28f9e439d1a8d555d411e9906e5a20d0a7341207a3a46424_sk
[2020-01-28T22:30:54.287] [INFO] FabricConfig - FabricConfig, this.config.channels  mychannel
[2020-01-28T22:30:54.607] [INFO] FabricClient -  FabricClient.discover_results  endpoint  { host: 'orderer.example.com', port: 7050 }
[2020-01-28T22:30:54.638] [INFO] Platform - FabricUtils.createDetachClient
[2020-01-28T22:30:54.640] [INFO] Platform - initializeListener, client_name, client  first-network { name: 'first-network',
  profile: './connection-profile/first-network.json' }
[2020-01-28T22:30:54.646] [INFO] main - Please open web browser to access :http://localhost:8080/
[2020-01-28T22:30:54.646] [INFO] main - pid is 18213
[2020-01-28T22:30:54.782] [INFO] PgService - SSL to Postgresql disabled
[2020-01-28T22:30:54.782] [INFO] PgService - connecting to Postgresql postgres://hppoc:******@127.0.0.1:5432/fabricexplorer
[2020-01-28T22:30:55.397] [INFO] SyncPlatform - Updating the client network and other details to DB
[2020-01-28T22:30:55.404] [INFO] SyncServices - SyncServices.synchNetworkConfigToDB client  first-network  channel_name  mychannel
[2020-01-28T22:30:55.427] [INFO] FabricClient -  FabricClient.discover_results  endpoint  { host: 'orderer.example.com', port: 7050 }
[2020-01-28T22:30:55.528] [INFO] SyncPlatform - Sync process is started for the network : [first-network] and client : [first-network]
[2020-01-28T22:30:55.530] [INFO] FabricConfig - config.client.tlsEnable  true
[2020-01-28T22:30:55.530] [INFO] FabricGateway - peer0.org1.example.com
[2020-01-28T22:30:55.530] [INFO] FabricGateway - /path/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem
adminPrivateKeyPath  /path/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/e65fa2dd29a69b2b28f9e439d1a8d555d411e9906e5a20d0a7341207a3a46424_sk
[2020-01-28T22:30:55.530] [INFO] FabricConfig - FabricConfig, this.config.channels  mychannel
[2020-01-28T22:30:55.798] [INFO] FabricClient -  FabricClient.discover_results  endpoint  { host: 'orderer.example.com', port: 7050 }
[2020-01-28T22:30:55.833] [INFO] SyncServices - SyncServices.synchNetworkConfigToDB client  first-network  channel_name  mychannel
[2020-01-28T22:30:55.865] [INFO] FabricClient -  FabricClient.discover_results  endpoint  { host: 'orderer.example.com', port: 7050 }
[2020-01-28T22:30:55.883] [INFO] Sync - Synchronizer pid is 18220
[2020-01-28T22:30:55.901] [INFO] SyncServices - block_row.blocknum  4
[2020-01-28T22:30:58.200] [INFO] SyncPlatform - Updating the client network and other details to DB
[2020-01-28T22:30:58.209] [INFO] SyncServices - SyncServices.synchNetworkConfigToDB client  first-network  channel_name  mychannel
[2020-01-28T22:30:58.241] [INFO] FabricClient -  FabricClient.discover_results  endpoint  { host: 'orderer.example.com', port: 7050 }

如果您使用 docker compose 启动资源管理器,即在 repo 的根目录中,然后检查您的 8090 端口,因为 docker 将容器的 8080 端口映射到您机器的 8090 端口。

github:hyperledger/blockain-explorer/docker-compose.yaml

所以,我找到了问题的答案—— 奇怪的是,问题是它到处都显示它在 localhost:8080 上提供服务,但经过大量研究发现节点 js 无法提供 hyperledger explorer 在端口 8080 上的静态页面。 因此,需要使用 "serve" 来构建和提供该页面。我在 2 天前做过,它从端口 5000 开始,它有自己的 IP 地址,但是我在网络浏览器上遇到错误,因为违反了 "control security policy".

解法:

$ cd ~/Hyperledger/blockchain-explorer/client
$ npm install
$ npm test -- -u --coverage 
$ npm run build
$ npm install -g serve
$ serve -s build

现在它会向您显示如下输出:


   ┌────────────────────────────────────────────────────┐
   │                                                    │
   │   Serving!                                         │
   │                                                    │
   │   - Local:            http://localhost:5000        │
   │   - On Your Network:  http://160.33.244.178:5000   │
   │                                                    │
   │   Copied local address to clipboard!               │
   │                                                    │
   └────────────────────────────────────────────────────┘

如果你打开 : http://localhost:5000 它不会显示任何内容,在检查 window 的网络日志中会显示 - "control security policy violation".

所以像这样使用端口 8080 :

- Local:            http://localhost:8080        │
- On Your Network:  http://160.33.244.178:8080

此外,您需要启动 hyperldger 资源管理器服务器:

$ cd ~/<YourPath>/blockchain-explorer
$ ./start.sh

您将看到选择了第一个网络的登录页面。

使用:

"adminUser" is the the admin user of the network, in this case it's fabric CA or an identity user.
"adminPassword" is the password for the admin user.

你在!