AWS ECS上仅支持HTTPS的Play框架

时间:2017-11-03 23:54:15

标签: amazon-web-services https playframework

设置:通过ECS,Elastic Load Balancer在Amazon EC2实例上部署Play Framework应用程序。我想只允许申请的HTTPS请求。

我找到了几种在Play中使用HTTPS的方法,但有哪些优点和缺点,或者哪个是(dockerized)Play应用的最佳做法?

  1. 直接在Play中启用HTTPS(在配置文件中使用-Dhttps.port或https.port)。
  2. 设置前端Web服务器(例如Nginx)并让它处理HTTP-> HTTPS重写(example)。
  3. 在Play中实施请求过滤器,并在应用程序中重定向请求(as described here)。
  4. 我不太热衷于使用第一个版本,因为我必须在每个实例上单独管理证书,但为了完整起见我列出了它。 我能想到的第三种方法的一个优点必须是系统架构比​​第二版更简单,并且需要更少的配置。使用第三种方法有任何缺点(例如性能)吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是负载均衡器,那么您应该从Amazon Certificate Manager服务请求免费的SSL证书,然后将该证书附加到负载均衡器。

要启用HTTP到HTTPS重定向,您只需检查负载均衡器传递给服务器的x-forwarded-proto标头。如果http返回301 https。您链接的文章涵盖了这一部分。