当前位置: 首页 > 知识库问答 >
问题:

Hyperledger Fabric:“错误:错误的建议响应500:拒绝访问”时,试图加入对等通道

公羊绪
2023-03-14

构建了一个网络,将订购者添加到频道中,此处引用为:channelname。容器上安装了以下文件夹

# docker-compose.yaml
    volumes:
      - "~/container-volumes/$docker_peer0/production:/var/hyperledger/production"
      - "~/organizations/peerOrganizations/$company/peers/$docker_peer0/msp:/etc/hyperledger/fabric/msp"
      - "~/organizations/peerOrganizations/$company/peers/$docker_peer0/tls:/etc/hyperledger/fabric/tls"
    null
./configtxgen -profile SampleAppChannelEtcdRaft -outputBlock genesis_block.pb -channelID channelname
./osnadmin channel join --channel-id channelname  --config-block ~/Downloads/bin/genesis_block.pb -o localhost:9440 --ca-file $OSN_TLS_CA_ROOT_CERT --client-cert $ADMIN_TLS_SIGN_CERT --client-key $ADMIN_TLS_PRIVATE_KEY
docker exec -it peer0 peer channel join -b /var/hyperledger/production/genesis_block.pb -o vm01:9440 --clientauth --cafile /etc/hyperledger/fabric/msp/tls/tls-ca-cert.pem --certfile /etc/hyperledger/fabric/msp/user/peer-admin/tls/cert.pem --keyfile /etc/hyperledger/fabric/msp/user/peer-admin/tls/key.pem
    null
[channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500: access denied for [JoinChain][channelname]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [The identity is not an admin under this MSP [org1msp]: The identity does not contain OU [ADMIN], MSP: [org1msp]]])

用于此命令的admin是向TLS-CA和组织CA注册的peer-admin。另外,OU的config.yaml也存在于peer-admin MSP中。

我还尝试将core_peer_mspconfigpath设置为peer-admin(Peer0/msp/user/peer-admin/msp)的msp目录,但这会导致容器在启动时硬退出。Fabric-Chaincode-500-访问-错误

我似乎不知道哪里出了问题,这是否与必须在对等通道联接命令中设置的--cafile--certfile--keyfile有关?

这是配置文件。

  $docker_peer1_service_name:
    image: hyperledger/fabric-peer:2.3
    container_name: $docker_peer1_container_name
    environment:
      - FABRIC_CFG_PATH=/etc/hyperledger/fabric
      - CORE_PEER_ID=$docker_peer1
      - CORE_PEER_NETWORKID=test
      - CORE_PEER_LISTENADDRESS=0.0.0.0:7081
      - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7082
      - CORE_PEER_CHAINCODEADDRESS=localhost:7082
      - CORE_PEER_ADDRESS=localhost:7081
      - CORE_PEER_MSPCONFIGPATH=msp
      - CORE_PEER_LOCALMSPID=$company
      - CORE_PEER_FILESYSTEMPATH=/var/hyperledger/production
      - CORE_PEER_GOSSIP_BOOTSTRAP=127.0.0.1:7091
      - CORE_PEER_GOSSIP_ENDPOINT=localhost:7081
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=localhost:7081
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CLIENTAUTHREQUIRED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/cert.pem
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/key.pem
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/tls-ca-cert.pem
      - CORE_PEER_TLS_CLIENTROOTCAS_FILES=tls/tls-ca-cert.pem
      - CORE_PEER_TLS_CLIENTCERT_FILE=/etc/hyperledger/fabric/tls/cert.pem
      - CORE_PEER_TLS_CLIENTKEY_FILE=/etc/hyperledger/fabric/tls/key.pem
      - CORE_PEER_LEDGER_STATE_STATEDATABASE=CouchDB
      - CORE_PEER_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=peer1-couchdb:5985
      - CORE_PEER_LEDGER_STATE_COUCHDBCONFIG_USERNAME=$docker_peer1_couchdb_username
      - CORE_PEER_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=$docker_peer1_couchdb_pass
      - CORE_PEER_LEDGER_SNAPSHOTS=var/hyperledger/production/snapshots
      #- CORE_PEER_OPERATIONS_LISTENADDRESS=127.0.0.1:9443
      #- CORE_PEER_OPERATIONS_TLS_ENABLED=true
      #- CORE_PEER_OPERATIONS_TLS_CERT_FILE=
      #- CORE_PEER_OPERATIONS_TLS_KEY_FILE=
      #- CORE_PEER_OPERATIONS_TLS_CLIENTAUTHREQUIRED=true
      - CORE_PEER_METRICS_PROVIDER=disabled
      #- CORE_PEER_METRICS_STATSD_ADDRESS=127.0.0.1:8125
      #- FABRIC_CA_SERVER_OPERATIONS_LISTENADDRESS=127.0.0.1:9444
    ports:
      - "7081:7081"
      - "7082:7082"
      - "7091:7091"
    volumes:
      - "~/container-volumes/$docker_peer1/production:/var/hyperledger/production"
      - "~/organizations/peerOrganizations/$company/peers/$docker_peer1/msp:/etc/hyperledger/fabric/msp"
      - "~/organizations/peerOrganizations/$company/peers/$docker_peer1/tls:/etc/hyperledger/fabric/tls"

共有1个答案

谭翰海
2023-03-14

我认为您需要设置运行对等通道join...命令时要使用的MSPID。

尝试将CORE_PEER_LOCALMSPID设置为ORG1MSP

 类似资料:
  • 我试图创建一个API来记录SQS队列中的JSON请求主体。 我已经在FIFO和非FIFO布局的SQS中设置了一个基本队列。我每次都有同样的问题。SQS队列的策略如下: 我已经创建了一个策略,我将所有访问SQS的权限都赋予了写能力。我已经为API网关创建了一个角色,在其中我将前面提到的策略分配给。以下是我为该角色分配的策略: 有没有一个AWS大师可以指引我走向正确的方向? 为了澄清我的问题,它应该添

  • 问题内容: 在某种程度上,当我尝试通过命令行访问MySQL时,已经设法解决了该错误: 我尝试使用此HowTo重置密码,但没有任何运气。 我已经卸载了mysql completley并重新安装了,但是仍然需要输入密码。我不知道为什么会这样! 有人可以帮我获得默认安装的MySQL吗? 环境 Fedora Core 10,完全根访问权限,安装了Apache和PHP 感谢您的任何帮助!! 编辑 对于所有想

  • 我是AWS Lambda的新手。我正在尝试从https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html.当用户将jpg上传到名为greetingsproject的S3 bucket时,会触发lambda函数。 错误:9a62ff86-3e24-491d-852e-DED2C2CF5D94 信息:获取对象时出错=拒绝访问:拒绝访

  • 我最近才更新到新版本的forge,没有改变我的设置,当我去构建我的应用程序时,我得到了一个错误,说它找不到文件…

  • 这个问题已经问过好几次了,但没有一个解决办法对我有效。我以管理员身份运行DOS命令窗口,但当运行keytool命令安装证书时,我得到了上面的错误: 我在Windows10上使用JDK 1.8.0_191。为什么拒绝对管理员的访问?

  • 问题内容: 我有一个HTML表单( upload.htm ),其中包含HTML文件上传控件。 上一页中还有一个JavaScript方法,如下所示: 我在一个页面内的页面( uploadpage.htm )中 称其 为: 我尝试从 uploadpage.htm 页面执行以下所示的语句: 我收到一条错误消息,说 Access被拒绝,并且调试器在显示的第一个JavaScript函数处停止。这两个文件都位