小编Eri*_*fin的帖子

MongoDB replicaset不会在3.0到3.2升级中同步RBAC $外部数据

我想知道是否有人看到从3.0.9升级到3.2.8的问题,而外部用户数据库没有被复制?

我有一个现有的3.0.9副本集环境运行没有加密通信(no-TLS)和没有auth; 环境很好.但是当我使用具有TLS和RBAC(使用$ external)的3.2.8升级时,群集中的SECONDARY成员似乎没有获得$ external用户数据.

如果我使用我的配置执行3.2.8的原始安装,它工作正常,即连接到副本集和从主要读取/写入或只是从辅助节点读取的应用程序可以连接和身份验证.但是,如果我尝试从升级的3.0.9-3.2.8集群中执行相同操作,则从主服务器进行connect,auth和read/write是正常的,但是它们可以连接但不能auth到任何辅​​助服务器.

这是一个已知的错误?我已经阅读了mongodb上的所有升级文档,但找不到任何人试图这样做的地方.

我失败的错误是:

test7-mongodb-rs:SECONDARY> db.getSiblingDB("$external").auth( { mechanism: "MONGODB-X509", user: "CN=*******,OU=******,O=**********,L=***,ST=**,C=US@$external"
Error: 11 { ok: 0.0, errmsg: "Could not find user CN=*******,OU=******,O=**********,L=***,ST=**,C=US@$external", code: 11 }
0
Run Code Online (Sandbox Code Playgroud)

mongodb replicaset

5
推荐指数
0
解决办法
180
查看次数

从 openresty lua 发出 https tls 请求

我正在尝试找到一种方法,从 nginx/lua 模块内向服务器发出安全 GET 请求,以检查入口调用的身份验证。关于如何做到这一点的信息似乎很少。我当前的尝试主要围绕使用resty.http 和以下内容。

-- Create http client
local httpc = http.new();
httpc:set_timeout(500)

ngx.log(ngx.DEBUG, '**** Connect with TLS ****');
ok, err = httpc:connect(my_server, port);
Run Code Online (Sandbox Code Playgroud)

然而,my_server 在输入时需要证书、ca 和密钥,但同样,不知道如何做到这一点,使用 ["ca"] = myca.pem; 等等...不起作用。如果我设置

lua_ssl_trusted_certificate=myca.pem
Run Code Online (Sandbox Code Playgroud)

请求失败并显示以下内容:

2018/02/23 19:22:17 [crit] 19#0: *4 SSL_shutdown() failed (SSL: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init), client: 127.0.0.1, server: my_server
Run Code Online (Sandbox Code Playgroud)

我查看了https://github.com/brunoos/luasec/archive/luasec-0.6,但坦率地说无法让它在我的 alpine linux 容器上编译干净。目前不确定要使用什么模块或如何继续,有什么想法吗?

更新 基于我收到的评论和答案的其他信息。尝试使用openresty pintsized lua-resty-http和 https 失败,目前没有办法让cert/key/ca双向 TLS 流正常工作。使用下面的答案,我能够配置对后端应用程序微服务的上游代理调用,以正确服务请求。我的 proxy.conf 文件片段使其正常工作,如下所示。 注意:上游服务器必须与证书中的 CN 相匹配,否则它将无法工作,或者至少我通过证书失败没有得到任何指示。

http {
    # Upstream …
Run Code Online (Sandbox Code Playgroud)

lua nginx openresty

3
推荐指数
1
解决办法
9217
查看次数

标签 统计

lua ×1

mongodb ×1

nginx ×1

openresty ×1

replicaset ×1