ArangoDB python-arango库出现SSL证书错误

gdx19jrr  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(138)

我正在尝试将Python-Arango library连接到一个应用程序。我已经使用这个tutorial在Kubernetes节点上设置了ArangoDB。我的集群yaml文件如下所示:

---
apiVersion: "database.arangodb.com/v1alpha"
kind: "ArangoDeployment"
metadata:

name: "arango-cluster"
spec:
  mode: Cluster
  image: arangodb/arangodb:3.7.6
  tls:
    caSecretName: arango-cluster-ca
  agents:
    storageClassName: my-local-storage
    resources:
      requests:
        storage: 2Gi
  dbservers:
    storageClassName: my-local-storage
    resources:
      requests:
        storage: 17Gi
  externalAccess:
    type: NodePort
    nodePort: 31200

安装程序看起来很好,因为我可以访问Web UI以及通过Arango shell。但是,当我使用python-arango库将我的应用程序连接到DB时,我收到一个与证书相关的错误:

Max retries exceeded with url: /_db/testDB/_api/document/demo/10010605 (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))

当执行kubectl get secrets时,我在那里看到了arango-cluster-ca,我已经在上面的YAML文件中明确提到了这一点。

db = client.db(name='testDB', verify=False, username='root', password='')

然而,它并没有像预期的那样绕过验证。
我想知道我可能错过了什么-无论是在安装过程中,还是在Python调用中-这让我无法绕过这个SSL证书错误问题,或者是否可以设置证书。我尝试了这个Arango tutorial来设置证书,但它没有给予我成功。

  • 谢谢-谢谢
oxcyiej7

oxcyiej71#

我能想到的唯一解决办法是选择不安全的路由。我没有在arango集群配置文件的spec.tls.caSecretName字段中设置arango-cluster-ca,而是将该字段设置为None。它允许我与http连接,没有任何问题。
仍然想知道是否有一些变通办法,让它通过https连接,所以我仍然开放的答案,否则我会关闭这个。

相关问题