如何解决Facebook链接共享问题
我使用Django社交共享功能在我的网站上有一个“共享给Facebook”链接。问题在于发布到Facebook的链接没有被删除-图像,描述和标题没有填充。所有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证书完全有效-完全没有错误或警告。我正在通过WSGI在Apache上使用LetsEncrypt,并在其后面使用Django应用程序。任何其他社交网络都没有问题。
给出此错误的链接之一的示例: https://www.netizen.net/news/post/2643/netizen-ranks-184-on-the-2020-inc-5000-list
如您所见,如果您访问该页面,则没有SSL错误。就像在LinkedIn,Twitter和其他地方一样,已删除了相同的链接,但FB似乎存在此问题。
解决方法
因此,在评论中反复浏览后,我根据CBroe的指导找到了解决方案。简而言之,Let's Encrypt不会自动在其执行的“标准” Apache配置中包括SSLCertificateChainFile
,因此需要手动添加。完成后,链接开始按预期在Facebook上共享。
但是,似乎仅使用chain.pem
文件作为链文件,而不使用包含额外证书的fullchain.pem
才能正常工作。按如下所示配置Apache,重新启动Apache并运行SSL检查后,它便开始工作:
...
SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem
...
现在,该SSL证书通过了所有检查,并且具有“ A”等级,并且在所有设备/平台中都受到信任,因为其中包括正确的链文件:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。