kubernetes - 管理员注册失败,错误:%o 消息=调用注册端点失败,连接超时
问题描述
我在 kubernetes 上运行我的结构网络,并且为所有组织设置了 ca 服务器。我可以从 cli 注册和注册用户,但是当我使用带有nodejs的fabric-ca-client库来注册和注册用户时。我正面临 CONNECTION Timeout 问题,同时如果我查看我的 ca-server 的日志,它显示能够处理请求。Edit1:我正在使用 fabric-sample 中提供的相同代码来注册和注册用户。
所有的 pod 都在 Kubernetes 中使用这些服务相互通信
这就是我的连接配置文件的样子
"certificateAuthorities": {
"ca-org2": {
"url": "https://ca-org2:8054",
"caName": "ca-org2",
"tlsCACerts": {
"pem": ["-----BEGIN CERTIFICATE-----\nMIICBjCCAa2gAwIBAgIUHwBYatG6KhezYWHxdGgYGqs77PIwCgYIKoZIzj0EAwIw\nYDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy\nc2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEQMA4GA1UEAxMHY2Etb3Jn\nMjAeFw0yMTAzMjAxMDI4MDBaFw0zNjAzMTYxMDI4MDBaMGAxCzAJBgNVBAYTAlVL\nMRIwEAYDVQQIEwlIYW1wc2hpcmUxEDAOBgNVBAcTB0h1cnNsZXkxGTAXBgNVBAoT\nEG9yZzIuZXhhbXBsZS5jb20xEDAOBgNVBAMTB2NhLW9yZzIwWTATBgcqhkjOPQIB\nBggqhkjOPQMBBwNCAAQUIABkRhfPdwoy2QrCY3oh8ZuzP5OprZJawVXO2ojid3j4\nC9W4l46QXR5J7iG5MLczguPZWB9dZWygRQdUQeoAo0UwQzAOBgNVHQ8BAf8EBAMC\nAQYwEgYDVR0TAQH/BAgwBgEB/wIBATAdBgNVHQ4EFgQURx/h3nkH0fq+3TlRPnQW\nWTHbR7YwCgYIKoZIzj0EAwIDRwAwRAIgCF+vcLFERb+VHa6Att0rh5yhpMd0bHEn\nmkNo0YfKuX4CICodtpp6AKtNWXreskaN+kRMH8eDmwvxkhvTK68ejv8U\n-----END CERTIFICATE-----\n"]
},
"httpOptions": {
"verify": false
}
}
}
解决方案
我找到了解决这个问题的方法。该问题与连接超时有关,我的 CA 服务器正在接收请求并能够处理它们,但由于超时时间短,请求被取消。解决方案是增加connection timeout
和request-timeout
。超时的默认值为 3 秒,我将其增加到 30 秒并开始工作。默认配置可以在这里找到
{
"request-timeout" : 3000,
"tcert-batch-size" : 10,
"crypto-hash-algo": "SHA2",
"crypto-keysize": 256,
"crypto-hsm": false,
"connection-timeout": 3000
}
我们可以从 fabric-ca-client 库的源代码中更新超时值,也可以fabric-common
像这样简单地使用库的方法来更新这些配置值。
const { Utils: utils } = require('fabric-common');
const path=require('path');
let config=utils.getConfig()
config.file(path.resolve(__dirname,'config.json'))
这是我们修改后的配置文件config.json
{
"request-timeout" : 30000,
"tcert-batch-size" : 10,
"crypto-hash-algo": "SHA2",
"crypto-keysize": 256,
"crypto-hsm": false,
"connection-timeout": 30000
}
推荐阅读
- javascript - 使用 javascript 或 Jquery 过滤 JSON GraphQL 数据
- gcloud - gcloud app deploy 灵活环境挂起
- admob - 即使在商品详情中添加开发者网站 10 天后,Admob 也无法抓取 app-ads.txt
- flutter - 如何使底栏随键盘向上移动(颤动)
- javascript - 从 CDN 加载 jquery 脚本有效,但从 IIS 加载相同的脚本会产生非法字符?
- javascript - 从 Web 应用程序中删除 FCM -> FirebaseError:消息:我们无法注册默认服务工作者
- javascript - 我如何用 html 和 css 订购这个?
- javascript - 以编程方式将文本放在 Chrome 控制台提示符处
- compiler-construction - yacc - 规则从不减少和转移/减少冲突
- css - CSS网格和ngRepeat