本地主机不尊重已安装的非自签名通配符证书

本地主机不尊重已安装的非自签名通配符证书

Linux:Ubuntu 21.10
HTTP 服务器:Apache/2.4.48 (Ubuntu)
SSL 证书类型:通配符
SSL 证书颁发者:Sectigo Limited(即非自签名

问题:Mediawiki 进行内部环回HTTPS调用加载其可视化 GUI 编辑器。问题(如许多谷歌搜索帖子中所述)是证书验证失败,因为 Mediawiki 正在尝试联系自身。换句话说,如果从服务 MediaWiki 的同一服务器(本地主机)发出此命令失败:

$ curl 'https://host.domain.com/rest.php/v1/page/Main_Page'

...那么可视化编辑器就会失败。确实如此。 MediaWiki 网站的其余部分在制作时工作正常HTTPS来自远程客户端。

故障详情:

$ curl 'https://host.domain.com/rest.php/v1/page/Main_Page'
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

但证书是有效的。当我们不从本地主机进行网络调用时,它工作得很好。我还访问了错误消息中提供的 CURL 链接,但没有看到与我的情况相关的任何内容。

问题:我需要做什么才能获得卷曲发布时不要失败卷曲从本地主机调用?

答案1

curl 'https://host.domain.com/rest.php/v1/page/Main_Page'从主机运行该命令时失败host.domain.com?这肯定与本地系统中缺少证书颁发者的根证书有关。

请记住,curl这里是客户端,需要能够验证从根到网络服务器的证书链。

网络服务器应配置为生成足够的链以从公共签名证书获取其自身,但您需要拥有根证书。

在 Debian 上我会尝试更新证书包

apt install ca-certificates

如果这没有帮助,我需要获取要添加的公共根证书/usr/local/share/ca-certificates,然后运行update-ca-certificates以重建证书数据库。 (请参阅man update-ca-certificates获取更多详细信息。)

相关内容