我在localhost:3000上运行meteor,我设置了apache,使用virtualhost和mod_proxy将域请求代理到该meteor实例。
尝试使用accounts-facebook登录我的meteor应用程序时出现此错误:
应用程序配置不允许使用URL:一个或 应用程序的设置不允许更多的给定URL。它必须 匹配网站URL或Canvas URL,或域必须是子域 App的一个域名。
我认为这是因为我的ROOT_URL是http://localhost:3000
。如果我将ROOT_URL更改为域,那么当然meteor会尝试收听域名,但不能,因为我的apache服务器阻碍了。
有没有办法可以在没有其他IP地址的情况下完成这项工作?
答案 0 :(得分:1)
来自Meteor文档,
确保您的$ ROOT_URL与授权域和回调相匹配 使用外部服务配置的URL(例如,,如果您 在代理服务器后面运行Meteor,$ ROOT_URL应该是 外部可访问的URL,而不是代理中的URL )。
在我的情况下,我的应用程序正在侦听配置端口,其中mod_proxy位于Apache代理服务器后面,比如它正在侦听http://www.example.com:8080。我在其他端口上运行其他应用程序。
为了开始,我在Facebook上将Site URL
和Valid OAuth redirect URIs
设置为http://www.example.com:3000
,将App Domains
设置为www.example.com
。在我的计算机上,我将ROOT_URL
设置为http://www.example.com:3000
,可从外部访问。
这样的配置对我来说没有第二个IP地址。
答案 1 :(得分:0)
我可以通过简单地使用
来实现它# /etc/hosts
127.0.0.1 localhost.localdomain localhost
和facebook设置如下图所示。我已将辅助(移动)网址设置为指向http://localhost:3000
我创建了一个像这样的整个Facebook应用程序,登录,访问graph-api等等。一切都在网上和开发环境中工作