Not: Bu, apache'nin gelen SSL bağlantılarını kabul etmesiyle ilgili bir soru değildir.Apache2 httpd, Apache'den giden SSL bağlantıları için ubuntu'nun CA sertifikasını nasıl kullanır?
Giden SSL bağlantıları yapması gereken bir apache modülüm var.
Failed to send events: The OpenSSL library reported an error: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:s3_clnt.c:1269:
Bu apache benim modül bağlanmaya çalışıyor sunucunun (geçerli) sertifikası bilmediği kullandığı SSL kütüphanesini gösteren geliyor: İster girişimleri için zaman, bu hatayı alır .
Bu çalıştığı yerdeki ubuntu sistemimin CA sertifikası, bu aşağı akım sertifikasını biliyor, openssl s_client
her şeyin yolunda olduğunu söylüyor.
Apache2'ye giden bağlantıların çalışması için ubuntu sistem CA sertifikasını nasıl kullanacağımı nasıl anlarım?
güncelleştirmesi - Sertifikaları nereden almaya çalıştığını görmek için bir strace -e open httpd -X
yaptım. Apache'nin libssl.so dosyasını açtığını görüyorum, ancak normal ssl.cnf dosyasını veya herhangi bir sertifika dosyasını açmaya bile çalışmıyorum.
snipped useless strace output
Update2: Ben https isteği yaratıyorum nasıl gelince - benim özel apache modülü içerisinden talep ediyorum. Bağlantı kodu temelde görünüyor böylece, Rust yazılmıştır .bu Benim modülü gibi:
mod_mine.so içinde:
use hyper::Client;
use hyper_tls::HttpsConnector;
use tokio_core::reactor::Core;
let mut core = Core::new()?;
let handle = core.handle();
let client = Client::configure()
.connector(HttpsConnector::new(4, &handle)?)
.build(&handle);
//actually a POST, but this gets the same error
let request = client.get("https://saas.mycompany.io".parse()?);
let result = core.run(request)?;
... //process result
Özel bir modül mi yoksa varolan bir modülü mi kullanıyorsunuz? Bu modülü adlandırabilir misin? –
@TarunLalwani - bu özel bir modüldür. Bu sadece https çağrıları yapar. Bağımsız çalıştırıldığında, ubuntu'nun libssl'sini kullanarak iyi çalışır. bir nedenle apache'nin içinde çalışmıyor. – marathon
Min çoğaltılabilir örnek ile örnek git repo mu var? –