基于Cloudflare的SSL上的Elastic Beanstalk

mrb*_*den 0 ssl parse-platform amazon-elastic-beanstalk

我将AWS上的ElasticBeanStalk用作我的解析环境的一部分。Elastic Beanstalk URL是myparseapp.elasticbeanstalk.com。当用户在我的网站(“ www.example.com”)上注册帐户时,Elastic Beanstalk发挥了神奇的作用。

直到我在即将投入生产的网站上启用SSL并对其进行测试之前,这种方法一直很好。注册失败,我在开发人员控制台中看到了这一点:

parse.min.js:16混合的内容:“ https://www.example.com/register.html ”上的页面已通过HTTPS加载,但请求了不安全的XMLHttpRequest端点“ http://myparseapp.elasticbeanstalk.com/解析/用户 '。该请求已被阻止;内容必须通过HTTPS提供。

我了解为什么收到错误消息。我不清楚如何解决它。我读到的所有内容都说:“注册域,获取SSL证书,使用Route 53附加CNAME(www),将其应用于负载均衡器。完成。”

好吧... 1)我已经有一个用于我的网站的域。2)我的SSL是通过Cloudflare服务的,这是SSL终止的地方。3)当我的www.example.com是我的实际网站时,为什么要为Elastic Beanstalk分配CNAME'www'?不会使用CNAME“ www”破坏我的网站吗?4)我的Elastic Beanstalk实例不在负载均衡器的后面。

我是否需要为弹性beantalk创建单独的域?听起来不对。我可以看到它可能是一个子域,例如parseapp.example.com。

由于我正在使用Cloudflare(而且我很喜欢),因此我不希望使用Route 53进行操作……但是,如果这是我唯一的选择,那就顺其自然。

因此,总而言之,如何使用Cloudflare通过SSL访问我的Elastic Beanstalk应用程序?

预先感谢您的协助。

Ant*_*aud 5

在不查看您在CloudFlare中的所有配置的情况下,这是我们如何使用CloudFlare和AWS为Parse设置系统。

如果Parse Server实例(位于上elasticbeanstalk)无法处理HTTPS:

  • 设置一个parse.example.com以CloudFlare作为CNAME的别名的子域myparseapp.elasticbeanstalk.com
  • 确保云图标为橙色(已打开)。
  • 转到CloudFlare中的“加密”选项卡,并确保将其设置为Flexible。这样做将使对任何example.com域的所有请求都通过CloudFlare,该站点将使用CloudFlare的SSL,但是CloudFlare会将请求以elasticbeanstalk.comHTTP或HTTPS 路由到您。
  • 确保您的Parse Server URL现在设置为https://parse.example.com/parse(在CNAME中定义)。这将使您的Ajax请求看起来像:https://parse.example.com/parse/users而不是以前的URL。

如果您可以在实例上设置SSL证书,则可以配置CloudFlare为您提供可以在实例上安装的证书Origin Certificates(请参见Crypto下方的标签Origin Certificates)。这些证书用于保护CloudFlare和原始服务器(在您的情况下为ElasticBeanstalk)之间的连接。如果执行此操作,则仍应遵循上述步骤,但请使用而不是选择FlexibleSSL Full

  • 这是否意味着他的流量仍在生产中通过 http 进行? (3认同)