MeS*_*So2 5 apache iis proxy curl facebook
当要求 Facebook通过 https抓取我的页面时,我收到“卷曲错误:SSL_CACERT SSL 证书问题:无法获得本地颁发者证书” 。我该如何解决这个问题,以便 Facebook 可以无误地抓取我的页面?
该页面通过代理到 IIS 10 的 Apache 2.4 托管。Apache 处理所有证书,而 IIS 位于本地网络上。我的页面正在运行 asp 代码(所以没有 php)和类似于这些的解决方案:编辑 php.ini 文件或将 curl.pem 添加到 php 文件夹将无法解决我的问题......或者我认为?!?
IIS 没有安装证书。
我确实extension=php_curl.dll启用了 -- 并extension_dir = 'C:\64bit\php-7.0.6-Win32-VC14-x64\ext'在我的 php.ini 文件中定义。我按照以下步骤在 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>
Run Code Online (Sandbox Code Playgroud)
我的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"
Run Code Online (Sandbox Code Playgroud)
这是修复错误所缺少的吗?
“无法获得本地颁发者证书”几乎总是当服务器没有像 TLS 握手中那样提供中间证书时您收到的错误消息,正如 WizKid 建议的那样,对服务器运行ssllabs 测试确实会告诉您如果是这样的话。