当我通过https请求Facebook来抓取我的页面时,我遇到了“Curl错误:SSL_CACERT SSL证书问题:无法获取本地颁发者证书”的问题。如何解决这个问题,让Facebook可以无错误地抓取我的页面?
该页面通过Apache 2.4代理到IIS 10进行托管。Apache处理所有证书,而IIS位于本地网络上。我的页面运行asp代码(因此没有php),类似这些解决方案:编辑php.ini文件或将curl.pem添加到php文件夹中将无法解决我的问题...至少我认为是这样的!?
IIS没有安装任何证书。
该页面通过Apache 2.4代理到IIS 10进行托管。Apache处理所有证书,而IIS位于本地网络上。我的页面运行asp代码(因此没有php),类似这些解决方案:编辑php.ini文件或将curl.pem添加到php文件夹中将无法解决我的问题...至少我认为是这样的!?
IIS没有安装任何证书。
我已经启用了extension=php_curl.dll
,并在我的php.ini文件中定义了extension_dir = 'C:\64bit\php-7.0.6-Win32-VC14-x64\ext'
。我按照这些步骤在Windows上安装了Curl。而且phpinfo.php确认cURL已启用(cURL信息7.47.1)。
我的Apache配置文件中的代理设置如下:
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPass / http://192.168.1.101:88/com_ssl/
ProxyPassReverse / http://192.168.1.101:88/com_ssl/
RewriteRule ^(.+)$ https://www.domainname.com/$1 [P,L]
</IfModule>
我的Apache代理配置文件中没有定义RequestHeader,例如在第10步建议的那样:
RequestHeader set "X-RP-UNIQUE-ID" "%{UNIQUE_ID}e"
RequestHeader set "X-RP-REMOTE-USER" "%{REMOTE_USER}e"
RequestHeader set "X-RP-SSL-PROTOCOL" "%{SSL_PROTOCOL}s"
RequestHeader set "X-RP-SSL-CIPHER" "%{SSL_CIPHER}s"
这是修复错误所缺少的内容吗?
SSLCertificateChainFile
,这又让我的成绩提高到了 A。(我不确定 Facebook 错误是否由中间证书问题触发。) - MeSo2