Rails通过CloudFlare和子域名租借了应用程序

时间:2014-11-12 21:26:23

标签: ruby-on-rails ruby-on-rails-4 heroku cname cloudflare

我在Heroku上构建了一个租用的Rails应用程序,它为每个租用的实例使用子域。问题是我似乎无法让CloudFlare正确缓存子域。

我将我的应用程序托管在heroku上,例如whatever.herokuapp.com 使用CloudFlare我将我的主应用程序指向heroku的CNAME(whatever.herokuapp.com)并且工作正常。 我在Heroku上使用外卡* .mydomain.com,然后再次使用CloudFlare指向它们。

所以说我在CloudFlare上创建了一个app myinstance.mydomain.com - > whatever.herokuapp.com 因为我在Heroku上使用* .mydomain.com它运行正常。

但是当我尝试打开加速(CloudFlare缓存)时,它会立即中断,我看到的是CloudFlare错误错误1001告诉我:

  

最有可能的是:如果所有者刚刚注册了CloudFlare,则可能需要几分钟才能将网站的信息分发到我们的全球网络。

2 个答案:

答案 0 :(得分:1)

从他们的服务台:

  

从标准设置的基础上,需要添加域名   CloudFlare,以便我们了解如何为此路由流量   域。

     

如果你想要一个设置,世界上任何人都可以CNAME到你的   CloudFlare配置,这是可能的,但它是一个企业   特征。我们称之为“托管CNAME” - 如果那是你的话   有兴趣让我知道,我可以让你联系。

仅供参考,CloudFlare Enterprise平均每月5000美元。

CloudFlare非常棒,因为它只是在没有太多定制的情况下开始工作,零成本,但除非您的多租户应用程序是针对美国银行或其他财富500强企业,我建议像Fastly($ 5-50 /月)或者其他一些DIY缓存解决方案,允许您根据需要设置缓存,而不是一个通用的自上而下的解决方案。

https://devcenter.heroku.com/articles/fastly

直接使用Heroku,但可能还有其他解决方案同样有效。

答案 1 :(得分:0)

如果您将不在CloudFlare上的域/子域指向CloudFlare上的域(创建DNS解析查找错误),也会发生该错误。我可能会联系CloudFlare支持以获得更多帮助和故障排除。