我已经做了很多研究,但是还没有找到确切的答案。无论如何,要在localhost上测试开放图吗?我在locahost上使用图形API没有任何问题。
我已经在应用程序设置中更改了我的网站网址,甚至尝试在我的主机文件中设置一个域,但是用于打开图的调试器linter尝试使用实际域而不是我的本地主机,并且当直接使用locahost时,linter完全无法连接。
有人对此有任何解决方法吗?
Answers:
使用本地代理是正确的解决方案。ngrok
也不适合我
一个类似的工具,做了与Facebook的调试器工作localtunnel ✅
npm install -g localtunnel
lt --port 8000
生成一个类似的网址https://<random_hash>.localtunnel.me/
。截至2017年10月18日,在Facebook开放式图形调试器中使用此url对我有用。我只需要点击Fetch new scrape information按钮。🍻
关于localtunnel的很酷的事情是,您可以轻松地在github.com/localtunnel/server上托管您自己的localtunnel服务器,因此,如果它停止运行localtunnel.me
,您可以在云中的某个地方运行自己的服务器
cd
到项目文件夹,然后lt --port 8000
。控制台中的结果URL对我有用。(试图以管理员身份打开Git Bash并在Homestead Vagrant框中安装npm不适用于我。)
lt -h "http://serverless.social" -p PORT
。
您可以使用ngrok创建一个随机的公共子域,即使通过NAT或防火墙,该子域也可以很容易地路由到本地Web服务器。
只需下载ngrok并运行./ngrok http 8080
(假设8080是您的本地Web服务器的http端口)。
这将创建一个随机子域,如http://38a84a97.ngrok.io/,该子域可路由到您的本地网络服务器,并且可以与Facebook一起使用以测试打开的图形标记。
在任何使用Chrome或Firefox的本地环境中使用插件测试Open Graph非常简单。我曾经用它在chrome中快速显示了“打开图”对查看器的外观以测试结果。这里是它的报价。
此扩展名显示人们如何在最受欢迎的社交网络中看到您的网站。此扩展名适用于创建媒体内容的专业人员。
要查看您的网站或文章的元信息,只需在Chrome中打开它,然后单击扩展程序的图标即可。您也可以手动添加URL。
为了测试开放图(和Twitter卡),我还必须将localhost(Docker)暴露给Facebook和Twitter。我使用了Serveo
为此,它非常有效,无需安装任何东西,因为它与ssh端口转发一起工作。
$ ssh -R 80:localhost:3000 serveo.net
然后导航到给定的URL,然后就可以了。
我使用一个称为ProxyLocal的免费工具,该工具可让公众访问我的本地服务器。
查看本指南,了解其他代理替代方法http://devblog.avdi.org/2012/04/27/http-forwarding-services-for-local-facebook-development/
您可以使用多种工具在本地主机上提供服务,每种工具具有不同程度的功能。
我更喜欢(显然)http://forwardhq.com
其他很棒的选择:http://devblog.avdi.org/2012/04/27/http-forwarding-services-for-local-facebook-development/
如果有人希望:og
在本地主机上的子域(使用lvh.me)上进行开发时预览标签。您可以使用https://serveo.net。只需使用以下命令即可转发您的本地服务器请求。无需安装。
ssh -R yoursubdomain.serveo.net:80:yoursubdomain.lvh.me:3000 serveo.net
您可以将所需的端口替换为3000。
参考:https : //blog.aarvy.me/2019/09/20/expose-local-apps-having-subdomains-to-web/
作为一种更简单的方法,您可以使用浏览器扩展程序,例如https://socialsharepreview.com/browser-extensions-将直接在浏览器中显示您的社交卡(如果您未正确将其设置在服务器端,则它可能会失败:))