Tôi đang chạy phiên bản Apache CouchDB (phiên bản 1.3.0) trên máy chủ Ubuntu 12.10 trên đám mây (AWS). Tôi đang cố gắng để có được SSL làm việc trên trường hợp couchDB của tôi.Apache couchDB CA đã ký các sự cố chứng chỉ
Cài đặt SSL cơ bản rất dễ dàng. Tôi đã đặt chứng chỉ và khóa của tôi trong một thư mục và uncomment dòng sau trong file local.ini tôi
httpsd = {couch_httpd, start_link, [https]}
cert_file = /usr/local/etc/couchdb/certs/mycouchdbserver_cert.pem
key_file = /usr/local/etc/couchdb/certs/mycouchdbserver_key.pem
tôi cũng đã thực hiện chắc chắn rằng các quyền sở hữu trên những tập tin này là chính xác.
Tính năng này hoạt động tốt, máy chủ couchDB khởi động, bạn có thể điều hướng đến https://mycouchdbserver.com/_utils/ mà không gặp sự cố.
kiểm tra sử dụng openssl
openssl s_client -showcerts -connect mycouchdbserver.com:443
Cung cấp kết quả chính xác cho cấu hình tiêu chuẩn SSL
Khi kiểm tra các thiết lập trên trang web DigiCert (công ty SSL Certs được mua thông qua - kiểm tra liên kết: http://www.digicert.com/help/) Tôi nhận được lỗi sau:
Máy chủ không gửi chứng chỉ trung gian được yêu cầu.
Khi mua chứng chỉ SSL, tôi đã nhận được chứng chỉ trung gian từ DigiCert và cũng đã tải xuống chứng chỉ gốc cho DigiCert.
Trong tập tin cấu hình local.ini cho CouchDB bạn có thể sử dụng chúng với các lĩnh vực cấu hình sau:
verify_ssl_certificates = true
cacert_file = xxxx
Vấn đề của tôi là tôi không thể có được điều này để làm việc và đã thử tất cả các kết hợp có thể để có được điều này để công việc. Dưới đây là những gì tôi đã cố gắng:
- Cố gắng thiết lập cacert_file đến cert trung gian từ DigiCert
- Cố gắng thiết lập cacert_file với chứng chỉ gốc trong/etc/ssl/certs
- Cố gắng thêm cert gốc từ trang web DigiCert vào/usr/shared/ca-certs/và sau đó chạy dpkg-reconfigure ca-certificate để cài đặt chứng chỉ gốc mới và thiết lập cacert_file thành chứng chỉ được mã hóa mới trong/etc/ssl/certs
- Đã thử kết hợp chứng chỉ và trung gian cert trong một tệp được sử dụng cho cert_file
- Đã thử kết hợp cert, cert trung gian và cert gốc vào 1 tệp pem được sử dụng cho cert_file
Tất cả các lỗi trên đều ném lỗi trong nhật ký couchDB. Một số cung cấp cho một lượng khối lượng của đầu ra trong các lỗi bản ghi nhưng sử dụng số 3, tôi nhận được
=ERROR REPORT==== 11-Jun-2013::11:35:30 ===
SSL: hello: ssl_handshake.erl:252:Fatal error: internal error
Và thử nghiệm với openssl tôi nhận được
CONNECTED(00000003)
16871:error:14094438:SSL routines:SSL3_READ_BYTES:tlsv1 alert internal error:s3_pkt.c:1099:SSL alert number 80
16871:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
Có ai có bất kỳ ý tưởng về cách sử dụng các verify_ssl_certificates , chứng chỉ gốc và chứng chỉ trung gian chính xác với couchDB
Tôi đã đọc tất cả tài liệu trực tuyến và không có gì đã giúp
Cảm ơn trước Andrew
Andrew, bạn có đang sử dụng namecheap không? Tôi đã tìm thấy một vấn đề tương tự dường như do biểu mẫu phát hành lại của namecheap: http://serverfault.com/questions/408112/nginx-ssl-certificate-issue-key-values-mismatch – pokstad