刚刚在我们的服务器上安装了Comodo证书,(centos 5)https工作正常,该网站可以正常使用https。但是我们的wordpress插件之一
.htaccess file contains rules to rewrite url https://example.com/w3tc_rewrite_test into https://example.com/?w3tc_rewrite_test which, if handled by plugin, return "OK" message.
The plugin made a request to https://example.com/w3tc_rewrite_test but received:
SSL certificate problem: unable to get local issuer certificate
instead of "OK" response.
执行命令:curl https://example.com
结果:
curl: (60) SSL certificate problem: unable to get local issuer certificate
外部服务器上的:
curl: (60) Peer certificate cannot be authenticated with known CA certificates
我已经下载了最新的ca证书,手动指向php.ini中的crt / pem文件都无济于事......
还将CA服务器证书更改为comodo提供的CAroot。
openssl s_client -connect example.com:443
CONNECTED(00000003) 28211:错误:140790E5:SSL例程:SSL23_WRITE:ssl握手失败:s23_lib.c:188:
openssl s_client -tls1 -connect example.com:443
CONNECTED(00000003) depth = 0 / OU =域控制验证/ OU = PositiveSSL / CN = www.example.com 验证错误:num = 20:无法获得本地颁发者证书 验证回报:1 depth = 0 / OU =域控制验证/ OU = PositiveSSL / CN = www.example.com 验证错误:num = 27:证书不受信任 验证回报:1 depth = 0 / OU =域控制验证/ OU = PositiveSSL / CN = www.example.com 验证错误:num = 21:无法验证第一个证书 验证返回:1
答案 0 :(得分:1)
检查您的网站SSLLabs是否存在问题,尤其是缺少连锁证书。至少您提到的网站swedendedicated.com
(在您上次编辑之前)存在严重问题:
Chain issues Incomplete
因此,它适用于大多数缺少证书缓存的浏览器或将下载缺少的证书。非浏览器通常既不会缓存也不会下载丢失的证书,因此会失败。
修复方法是重新配置服务器以包含缺少的证书。如果您对如何执行此操作有疑问,请查看从证书提供商处获得的说明。如果这无助于在serverfault.com上询问。
答案 1 :(得分:0)
这是一个非常普遍的问题。它说它无法在证书存储中找到中间证书。尝试手动剥离中间证书并安装它。
我在使用 Python 请求模块时遇到了这个问题。
我还创建了一个 ca.pem 文件并将服务器证书放在那里(服务器公钥)。我将中间 CA 证书与服务器证书放在一起。然后我得到:
无法找到颁发者证书。
然后我在 pem 文件中添加了根 ca 并成功了。