CouchDB集群身份验证

时间:2019-08-20 06:49:38

标签: couchdb

我能够设置一个由3个节点组成的Couchdb集群,并使用HAProxy在这三个节点之间进行了负载平衡。我添加了几个数据库,几个文档,并且一切都按预期进行。

我的问题是身份验证,我通过cookie使用身份验证,问题是cookie似乎仅在发布cookie的节点(其他两个节点)中有效,这告诉我我没有所需的授权。

我知道HAProxy中的“粘性会话”配置,但是我不想使用它,因为我的应用程序需要,必须在所有三个沙发数据库节点之间平衡单个客户端负载,因此必须将cookie用于所有3个节点。

我也知道使用basic-auth可以解决我的问题,但是我不想在客户端中保留密码。

那么,有没有办法使节点A发出的cookie在节点B和节点C中有效?假设所有3个节点都具有相同的用户和相同的管理员凭据(相同的用户名,密码)。

1 个答案:

答案 0 :(得分:0)

是的,它们的配置都必须具有相同的couch_httpd_auth secret setting才能尊重彼此发布的cookie。如果您未设置密码,那么每个节点都会分别随机生成该密码,从而使它们拒绝来自其他节点的cookie。