- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
请注意,这不是关于让 apache 接受入站 SSL 连接的问题。
我有一个需要建立出站 SSL 连接的 apache 模块。当它尝试时,它会收到此错误:
发送事件失败:OpenSSL库报错:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:s3_clnt.c:1269:
这表明 apache 正在使用的 SSL 库不知道我的模块正在尝试连接的服务器的(有效)证书。
我运行的 ubuntu 系统上的 CA 证书很好,知道这个下游证书,openssl s_client
告诉我一切正常。
我如何告诉 Apache2 使用 ubuntu 的系统 CA 证书来使出站连接正常工作?
更新 - 我做了一个 strace -e open httpd -X
来查看它试图从哪里加载证书。我看到 apache 打开 libssl.so,但后来我什至尝试打开通常的 ssl.cnf 或任何证书文件也看不到它。
截断了无用的 strace 输出
update2:至于我是如何创建 https 请求的——我是从我的自定义 apache 模块中发出请求的。我的模块 .so 是用 Rust 编写的,所以连接代码基本上是这样的:
在 mod_mine.so 中:
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
最佳答案
我找到了一个有效的解决方案,但我不确定它是否是最佳的。
openSSL 采用环境变量 SSL_CERT_FILE
。我可以在我的 apache 模块源代码中设置它。
use std::env;
let cert_file = figure_out_cert_path(); //on ubuntu: /etc/ssl/certs/ca-certificates.crt
env::set_var("SSL_CERT_FILE", cert_file);
关于apache - 我如何让 Apache2 httpd 使用 ubuntu 的 CA 证书从 Apache 出站 SSL 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445460/
前不久,哔哩哔哩(一般常称为 B 站)发布了一篇文章《2021.07.13 我们是这样崩的》,详细回顾了他们在 2021.07.13 晚上全站崩溃约 3 小时的至暗时刻,以及万分紧张的故障定位与恢复过
想象一下这种情况,周围有一些智能手机和计算机,它们的 WiFi 适配器(无线适配器)打开,但没有必要连接到网络。 有没有办法通过 Linux 机器查看 MAC 地址? 任何见解表示赞赏。 最佳答案 断
我无法创建新的 Window Station 来运行我的应用程序 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { wprintf(L"
在 Conda 环境中安装包后,我想对该包中的代码进行一些更改。 在哪里可以找到包含已安装包的 site-packages 目录? 我有 Anaconda Python 2.7 base 发行版,但找
今天去改了matplotlib的配置。搜索 matplotlibrc 发现我有两个: 查看site-packages 文件夹,我发现很多包的名称中都有波浪号: ~klearn 是 sklearn ,但
我是一名优秀的程序员,十分优秀!