hyperledger-labs / fabric-operations-console

A UI for managing Fabric peers, orderers, and CAs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remote Ops Console api timeout

demianko opened this issue · comments

I have set up an operations console in aws and imported assets.

when trying to perform "associate identity" on the remote ops console, I received "The certificate could not be generated." error.

in the browser network log, I noticed there are "408 Request Timeout" errors on the remote ops console, http://{{aws host ip}}:3000/api/v2/proxy/ when I was on "associate identity" screen.

Compared to the my local ops console, i don't see any "request timeout" error on the proxy api. but I do see multiple of them when accessing remote ops console in aws.

image

is there any additional configuration I need to do for the remote ops console in order to prevent this type of timeout?

@demianko the /proxy route can be a bit confusing to debug. its purpose is to allow the browser to ask the console server to contact a node (ca, orderer, or peer). it could be the browser was unable to contact the console, or it could be the console server was unable to contact the node. considering other /proxy routes returned, its likely that its the 2nd case. to figure out where that proxy route is going, you can open the body of the request (using the same browser debug tools in you screen shot, its on the right)

once you know where it is going, you can try to work out why the console server is unable to contact it. maybe that node is down, maybe there's a firewall preventing it, maybe its going to a wrongly entered address, etc.

thanks for the pointer.
the issue was one of the operation url port (10954) was not open in aws ec2 security group.
with the port open, the error (408 request timeout) is resolved.

the only port my local browser interacts with the console server is 3000 in config.yaml configuration, i am curious how the closed port in the server in ec2 is affecting the UI.

so the browser is using port 3000 to communicate to the web server, and the web server is using w/e port is specified in the call to reach your node (in this case it was 10954).

browser -> 3000 web server -> 10954 node

so keep in mind the web server (aka the console's node.js backend) needs to be able to communicate to all nodes that you onboard/import.

closing, inactivity