【问题标题】:EC2 Load Balancer SSL only on certain subdomainEC2 负载均衡器 SSL 仅在某些子域上
【发布时间】:2014-03-25 16:39:50
【问题描述】:

我有一个 Elastic Beanstalk Rails 应用程序。我也有两个域:

api.example.com
www.example.com

我希望api.example.com只能通过 SSL 访问,https://api.example.com

但是,我希望 www.example 可以通过普通 http 访问。

目前,我的负载均衡器上有两个侦听器,一个在端口 443 上,一个在 80 上。

问题是您现在也可以在没有 SSL 的情况下访问 api,这是不可取的。

我的问题有服务器级别的解决方案吗?

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-ec2 load-balancing


    【解决方案1】:

    Elastic Beanstalk 本身不允许您在应用程序上分离 SSL 和非 SSL 路由。以下是您可以做的一些事情。

    1. 将您的 Elastic Beanstalk 应用程序解耦为两个独立的 Elastic Beanstalk 应用程序,一个用于 SSL,另一个用于非 SSL 流量。

    2. 在 Rails 应用程序中更改路由设置。这篇文章解释了如何对某些路由强制使用 SSL:Rails 3 SSL Deprecation。您可以为您的 API 强制使用 SSL,并让 www 流量为非 SSL

    3. 不要使用 Elastic Beanstalk 并将您的应用程序托管在具有自动缩放功能的 EC2 中,并将其设置为以 Apache 或 nginx 为前端,并创建您的特定重写规则以确保以您希望的方式提供每个 URL是(www 到 HTTP,API 到 SSL)

    【讨论】:

      猜你喜欢
      • 2019-10-01
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 2015-01-13
      相关资源
      最近更新 更多