【问题标题】:Redirecting HTTP to HTTPS on AWS-ELB-Tornado在 AWS-ELB-Tornado 上将 HTTP 重定向到 HTTPS
【发布时间】:2015-04-27 01:19:19
【问题描述】:

我注意到很多关于这个主题的问题,但我没有找到任何专门针对 Tornado 的问题。

我有一个在负载均衡器后面运行的 Amazon EC2 实例。 HTTPS 证书在 ELB 处终止,两个端口 80/443 都指向同一个 Tornado 服务器端口。

如何强制将 HTTP 重定向到 HTTPS 流量?

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 tornado aws-ec2


    【解决方案1】:

    您必须发送带有新位置的 HTTP 301 或 302,有关详细信息,请参阅 RequestHandler.redirect()

    【讨论】:

      【解决方案2】:

      您可以考虑在 ELB 前添加 CloudFront (CDN),它有很多好处,例如降低应用程序的延迟,处理流量高峰。 如果您愿意,CloudFront 有 http 到 https 重定向 feature

      【讨论】:

      • 这似乎比在服务器上进行重定向更符合目的。有什么(如果有的话)缺点?
      • ClouldFront 可以缓存任何时间段的内容,因此即使您发现任何缺点,也可以通过特定于您的应用程序的适当配置来修复它。这是额外费用。但是,使用 CDN,您将减少 EC2 实例的负载,因此您将为 EC2 和 ELB 支付更少的费用。
      • 有关于使用 CloudFront 进行动态内容加速 (re:Invent 2013) 的精彩演示。我鼓励观看。 youtube.com/watch?v=UiXRVHgQ_Gg
      【解决方案3】:

      Enable xheaders 并使用 X-Forwarded-Proto 标头。这会告诉你原始请求是通过 http 还是 https 进来的。

      另外,请参阅 SO 问题 Retrieve browser headers in Python

      【讨论】:

        猜你喜欢
        • 2018-03-07
        • 2018-09-26
        • 2018-04-15
        • 2018-08-18
        • 2019-01-23
        • 2017-09-30
        • 2017-10-16
        • 1970-01-01
        • 2023-03-22
        相关资源
        最近更新 更多