无法在浏览器访问Hyperledger Composer Rest Server首页问题求助
这问题我之前帮人排查过不少,结合你用Docker Toolbox + Windows7的环境,大概率是Composer Rest Server启动时缺少必要的业务网络连接参数导致容器根本没正常跑起来——毕竟它和Playground不一样:Playground是独立的可视化工具,而Rest Server必须绑定到一个已部署的Hyperledger Fabric业务网络才能启动服务。
咱们一步步来排查和解决:
第一步:检查容器是否真的在运行
先打开Docker Toolbox的终端,运行:
docker ps -a
看看composer-rest-server容器的状态,如果是Exited或者Restarting,那肯定是启动命令有问题——Rest Server默认不会无参数启动,它需要知道连接哪个业务网络。
第二步:查看容器日志确认错误
运行命令拉取容器日志:
docker logs composer-rest-server
你应该会看到类似「Missing connection profile argument」或者需要指定-c参数的报错,这就坐实了启动命令缺参数的问题。
第三步:用正确的命令重启Rest Server
首先停掉并删除现有异常容器:
docker stop composer-rest-server docker rm composer-rest-server
然后用带业务网络连接参数的命令启动,假设你已经部署了名为tutorial-network的业务网络(如果是其他名字就替换成你的实际业务网络名),命令如下:
docker run --name composer-rest-server --publish 9090:9090 --detach hyperledger/composer-rest-server -c admin@tutorial-network
这里的-c admin@tutorial-network是指定Rest Server连接到tutorial-network业务网络的admin身份,必须要有这个参数才能让Rest Server正常启动服务。
额外排查点(如果上述步骤未解决问题)
- 确认Fabric网络和业务网络已正常运行:Rest Server依赖Fabric网络,你得确保你的Fabric测试网络(比如用
composer network start部署的网络)是正常启动的,否则Rest Server连不上后端也会启动失败。 - 检查VirtualBox端口转发:虽然Playground的8080能访问,但可以确认下Docker Toolbox的默认虚拟机(名称为
default)的端口转发规则——打开VirtualBox,找到default虚拟机,右键「设置」->「网络」->「端口转发」,添加一条规则:主机端口9090,子系统端口9090,协议TCP。 - Windows防火墙排查:临时关闭Windows7的防火墙,测试能不能访问9090端口,如果能访问,就给9090端口添加入站允许规则。
按照这个流程操作,应该就能解决访问被拒绝的问题了。
内容的提问来源于stack exchange,提问作者gous md
相关产品推荐
相关产品推荐

