CouchDB SSL 握手错误
CouchDB SSL handshake error
我已经通过自制软件在 mac 上安装了 CouchDB(是的自制软件!):
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
我的根本原因是 openssl 的旧版本(OS X 10.10.5 附带的版本)。在自制安装 openssl 和相同的密钥生成序列后,一切正常。
我已经通过自制软件在 mac 上安装了 CouchDB(是的自制软件!):
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
我的根本原因是 openssl 的旧版本(OS X 10.10.5 附带的版本)。在自制安装 openssl 和相同的密钥生成序列后,一切正常。