2016-09-29 100 views
2

我剛剛在我的機器上安裝了CouchDB,以便使用需要SSL的StackEdit進行測試。啓用SSL時,Windows 7上的CouchDB 2在啓動時崩潰

CouchDB在全新安裝後正常啓動。

但是,當我嘗試使用自簽名證書啓用SSL時,如解釋here所示,CouchDB將無法啓動。

這裏的日誌說什麼:

[error] 2016-09-29T16:16:01.402000Z [email protected] <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。

回答

4

作爲@Robin提到,有一個bug in CouchDB 2

對我來說,它是在local.ini添加以下行的問題:

[ssl] 
ciphers = undefined 
tls_versions = undefined 
secure_renegotiate = undefined 

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

而且,另一個重要的細節是,在CouchDB中2 SSL支持似乎使用Erlang的版本時,前18

https://groups.google.com/forum/#!topic/couchdb-user-archive/cBrZ25DHHVA更多的信息被打破。

+0

我一直在努力使自己簽署的證書,但沒有雪茄。 我放棄了。我甚至不再使用StackEdit。 感謝您的信息。我希望這會對其他人有用。 –

+0

@VictorToulouse我也剛剛發現你需要Erlang> = 18。也許這就是問題所在? – redgeoff

+0

這些SSL設置是爲我修復的。真棒:) –