Facebook Link 分享问题
Facebook Link Sharing Issue
我在我的网站上使用 Django Social Share 有一个“分享到 facebook”link。问题是发布到 Facebook 的 link 没有被抓取——图像、描述和标题没有填充。所有 OG 元标记都存在且正确,所以我检查了 Facebook Sharing Debugger 并显示以下错误:
SSL Error
Can't validate SSL Certificate. Either it is self-signed (which will cause browser warnings) or it is invalid.
Curl Error
Curl error: 60 (SSL_CACERT)
站点的 SSL 证书完全有效 - 完全没有错误或警告。我在 Apache 上使用 LetsEncrypt,通过 WSGI 在它后面有一个 Django 应用程序。使用任何其他社交网络都没有问题。
link 之一给出此错误的示例:
https://www.netizen.net/news/post/2643/netizen-ranks-184-on-the-2020-inc-5000-list
如您访问该页面所见,没有 SSL 错误。同样的 link 在 LinkedIn、Twitter 和其他地方正如预期的那样被抓取,但 FB 似乎有这个问题。
因此,在评论中返回后,我根据 CBroe 的指导找到了解决方案。简而言之,Let's Encrypt 不会在其执行的“标准”Apache 配置中自动包含 SSLCertificateChainFile
,因此需要手动添加。一旦我这样做了,链接就开始在 Facebook 上按预期共享。
但是,它似乎只能使用 chain.pem
文件作为链文件而不是包含 ext运行eous 证书的 fullchain.pem
才能正常工作。一旦我如下配置 Apache,重新启动 Apache,并 运行 SSL 检查,它开始工作:
...
SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem
...
现在,SSL 证书通过了所有检查并具有“A”评级,并且在所有 devices/platforms 中都受到信任,因为包含正确的链文件:
我在我的网站上使用 Django Social Share 有一个“分享到 facebook”link。问题是发布到 Facebook 的 link 没有被抓取——图像、描述和标题没有填充。所有 OG 元标记都存在且正确,所以我检查了 Facebook Sharing Debugger 并显示以下错误:
SSL Error
Can't validate SSL Certificate. Either it is self-signed (which will cause browser warnings) or it is invalid.
Curl Error
Curl error: 60 (SSL_CACERT)
站点的 SSL 证书完全有效 - 完全没有错误或警告。我在 Apache 上使用 LetsEncrypt,通过 WSGI 在它后面有一个 Django 应用程序。使用任何其他社交网络都没有问题。
link 之一给出此错误的示例: https://www.netizen.net/news/post/2643/netizen-ranks-184-on-the-2020-inc-5000-list
如您访问该页面所见,没有 SSL 错误。同样的 link 在 LinkedIn、Twitter 和其他地方正如预期的那样被抓取,但 FB 似乎有这个问题。
因此,在评论中返回后,我根据 CBroe 的指导找到了解决方案。简而言之,Let's Encrypt 不会在其执行的“标准”Apache 配置中自动包含 SSLCertificateChainFile
,因此需要手动添加。一旦我这样做了,链接就开始在 Facebook 上按预期共享。
但是,它似乎只能使用 chain.pem
文件作为链文件而不是包含 ext运行eous 证书的 fullchain.pem
才能正常工作。一旦我如下配置 Apache,重新启动 Apache,并 运行 SSL 检查,它开始工作:
...
SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem
...
现在,SSL 证书通过了所有检查并具有“A”评级,并且在所有 devices/platforms 中都受到信任,因为包含正确的链文件: