流星ROOT_URL设置使帐户-face在apache代理后面工作

时间:2014-04-25 03:14:39

标签: facebook apache proxy meteor

我在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地址的情况下完成这项工作?

2 个答案:

答案 0 :(得分:1)

来自Meteor文档,

  

确保您的$ ROOT_URL与授权域和回调相匹配   使用外部服务配置的URL(例如,,如果您   在代理服务器后面运行Meteor,$ ROOT_URL应该是   外部可访问的URL,而不是代理中的URL )。

在我的情况下,我的应用程序正在侦听配置端口,其中mod_proxy位于Apache代理服务器后面,比如它正在侦听http://www.example.com:8080。我在其他端口上运行其他应用程序。

为了开始,我在Facebook上将Site URLValid 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等等。一切都在网上和开发环境中工作

enter image description here