我刚刚在我的机器上安装了CouchDB,用于使用需要SSL的StackEdit进行测试。
全新安装后,CouchDB开始运行。
但是,当我尝试使用自签名证书启用SSL时,如here所述,CouchDB无法启动。
这是日志所说的内容:
[error] 2016-09-29T16:16:01.402000Z couchdb@localhost <0.201.0> -------- Error starting Apache CouchDB:
{error,{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,httpsd,{'EXIT',{badarg,[{erlang,'++',[undefined,"."],[]},{couch_util,parse_term,1,[{file,"src/couch_util.erl"},{line,164}]},{couch_httpd,start_link,1,[{file,"src/couch_httpd.erl"},{line,46}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,314}]},{supervisor,start_children,3,[{file,"supervisor.erl"},{line,297}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,263}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,306}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}}}}}}}
完整日志here。
我的CouchDB位于C:\ CouchDB中。 我也把密钥和证书文件放在那里。
我的OpenSSL版本是1.0.2d。
答案 0 :(得分:5)
正如@Robin所提到的,有一个bug in CouchDB 2
对我来说,这是在local.ini中添加以下几行的问题:
[ssl]
ciphers = undefined
tls_versions = undefined
secure_renegotiate = undefined
[daemons]
httpsd = {chttpd, start_link, [https]}
另一个重要的细节是,在18之前使用Erlang版本时,CouchDB 2中的SSL支持似乎被打破了。
有关详细信息,请参阅https://groups.google.com/forum/#!topic/couchdb-user-archive/cBrZ25DHHVA。
答案 1 :(得分:3)
过去两天我遇到过这个问题,发现这是CouchDB 2.0.0中的一个错误
https://issues.apache.org/jira/browse/COUCHDB-3162
希望它能在V2.0.1上得到修复