CouchDB SSL握手错误

时间:2016-01-09 07:36:59

标签: ssl erlang couchdb

我通过Homebrew在mac上安装了CouchDB(yay homebrew!):

brew install couchdb

然后我完成了一系列SSL设置步骤(在shell脚本中),详见官方文档:http://docs.couchdb.org/en/1.6.1/config/http.html -

#!/bin/sh
currDir=$(pwd)
mkdir couch_certs
cd couch_certs
openssl genrsa > privkey.pem
openssl req -new -x509 -key privkey.pem -out couchdb.pem -days 1095
chmod 600 privkey.pem couchdb.pem
perl -p -i -e "s#\[daemons\]#[daemons]\nhttpsd = {couch_httpd, start_link,     [https]}#" /usr/local/etc/couchdb/default.ini
perl -p -i -e "s#\[ssl\]#[ssl]\ncert_file = ${currDir}/couchdb.pem#" /usr/local/etc/couchdb/default.ini
perl -p -i -e "s#\[ssl\]#[ssl]\nkey_file = ${currDir}/privkey.pem#" /usr/local/etc/couchdb/default.ini

然后(同一个终端),我发射沙发:

couchdb

在另一个终端我测试:

curl -k https://127.0.0.1:6984/

失败了:

curl: (35) Server aborted the SSL handshake

我做错了什么?

注意我在将CouchDB作为应用程序安装时会遇到同样的错误(http://docs.couchdb.org/en/stable/install/mac.html的第2.3.1节)

编辑:我认为这是Erlang SSL问题:http://bugs.erlang.org/browse/ERL-74

1 个答案:

答案 0 :(得分:0)

我的根本原因是openssl的旧版本(OS X 10.10.5附带的版本)。在自制的openssl安装和相同的密钥序列之后,一切正常。