使用 Lets Encrypt SSL 证书配置 CouchDB

使用 Lets Encrypt SSL 证书配置 CouchDB

我基本上有完全相同的问题使用 Lets Encrypt SSL 证书配置 CouchDB,因此一直关注这个答案。但它仍然不起作用。

我已经开始Bitnami CouchDB 虚拟机在 Azure 上,因此 CouchDB 3.3.1 已经设置好(在 Debian 10 上),并且可以通过 HTTP 在端口 5984 上正常工作。我正在使用certbot获取证书并设置续订后挂钩以复制它们并将所有者更改为couchdb。我已更新 CouchDB 的local.ini文件以配置对 SSL 的支持:

[httpd]
bind_address = 0.0.0.0

[daemons]
httpsd = {couch_httpd, start_link, [https]}

[ssl]
enable = true
cert_file = /opt/bitnami/couchdb/etc/certs/cert.pem
key_file = /opt/bitnami/couchdb/etc/certs/privkey.pem
cacert_file = /opt/bitnami/couchdb/etc/certs/fullchain.pem

一旦 CouchDB 服务重新启动,我就可以看到

[info] 2021-03-25T21:25:38.726431Z [email protected] <0.239.0> -------- Apache CouchDB has started on https://0.0.0.0:6984/

在日志中,看起来 CouchDB 对设置很满意。

使用netstat -tulnp,我看到:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5984            0.0.0.0:*               LISTEN      990/beam.smp
tcp        0      0 0.0.0.0:6984            0.0.0.0:*               LISTEN      990/beam.smp
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      990/beam.smp

因此看起来端口已打开并正在被监听(PID 990 是 CouchDB)。我还确保 Azure 网络安全组为端口 6984 设置了入站规则。

但它仍然没有连接-openssl s_client -connect <server_domain>:6984 -servername <server_domain>显示:

CONNECTED(00000004)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 321 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

ufw似乎没有安装(因此另一个答案这个问题无关紧要),当我尝试连接时,CouchDB 日志中没有错误。我甚至尝试过按照以下说明将证书暂时替换为自签名证书:Bitnami 的文档,但出现同样的错误。

那么我还应该检查什么?

相关内容