基本上 facebook 爬虫 ( https://developers.facebook.com/tools/debug/og/object/ ) 告诉:
Curl Error : SSL_CACERT SSL certificate problem: unable to get local issuer certificate
在这里测试了我网站的网址: https://whatsmychaincert.com/?mysite.com
这说明: 我的网站配置错误。这是它应该使用的链。
我不敢从该站点下载链文件,因为我想我已经从 GoDaddy 获得了所有文件。
回到我的 facebook scraper 问题。我做了谷歌搜索,发现 Curl 错误是由于 PHP 版本引起的。正如我检查的那样,我正在运行最新的 PHP。但我仍然从官方网站下载了 cacert.pem 并添加到我的 ssl 证书所在的同一文件夹中 (/etc/ssl/certs)。然后编辑位于/opt/bitnami/php/etc的php.ini。
它是这样写的:
curl.cainfo ="/etc/ssl/certs/cacert.pem"
重新启动 apache 问题仍然存在。所以我专注于解决 SSL 证书问题。
这是我的 default-ssl.conf 的样子:
SSLCertificateFile /etc/ssl/certs/a639a4be86615af.crt
SSLCertificateKeyFile /etc/ssl/certs/mysite.key
SSLCertificateChainFile /etc/ssl/certs/mysite.com.chain.crt (downloaded from https://whatsmychaincert.com/)
SSLCACertificateFile /etc/ssl/certs/a639a4be86615af.pem
顺便说一句,我的网站显示 https 连接。但是在 Firefox 中我没有看到任何图像被加载。这可能与(无法获得本地颁发者证书)
有关吗我的配置有什么问题?我该如何解决?
编辑:
我正在使用 wordpress bitnami set.So 我为 ssl 配置编辑了两个路径。 /etc/apache2/sites-available/default-ssl.conf
和 /opt/bitnami/apache2/conf/extra/httpd-ssl.conf
我最新的 SSL 配置文件:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin hello@mysite.com
ServerName mysite.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/b8ad60af28cd1745.crt
SSLCertificateKeyFile /etc/ssl/private/mysite.key
SSLCertificateChainFile /etc/ssl/certs/b8ad60af28cd1745.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
最佳答案
与浏览器不同,PHP Curl 不会从其他来源重建证书树。因此,如果您的证书树不完整,CURL 无法验证您的站点证书。
您的 VirtualHost 配置应具有以下内容:
SSLCertificateFile
- 您的站点证书SSLCertificateKeyFile
- 证书文件的 keySSLCertificateChainFile
- 包含从叶到根的所有中间证书的文件(因此 curl 可以将您的证书连接到/etc/ssl/certs/cacert.pem
中的证书)
从 2.4.8 开始,您可以将所有证书从叶到根放入 SSLCertificateFile ( https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatefile)
您可以使用 https://www.ssllabs.com/ssltest/index.html 测试您的 SSL 配置它还报告不完整的证书树。
关于php - SSL 证书配置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624571/