在Scalatra中将HTTP请求重定向到HTTPS的最简洁方法是什么?

时间:2018-08-08 15:15:35

标签: scala ssl redirect scalatra aws-elb

我有一个使用Scalatra用Scala编写的服务,该服务运行在通过AWS ELB侦听的AWS ECS上。我已将ELB配置为TLS终结器:端口443上的HTTPS流量和端口80上的HTTP流量被路由到ECS任务上监听端口8080的服务。

我想将所有HTTP通信重定向到HTTPS。我了解ELB会根据原始请求将标头X-Forwarded-Proto设置为httphttps

处理重定向的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您在Scalatra应用程序的前面有一个反向代理,则可以在此处将http重定向到https: https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/

如果没有反向代理,则必须在Scalatra应用程序中做同样的事情。我认为最简单的方法是创建一个servlet过滤器,该过滤器通过检查X-Forwarded-Proto标头将http重定向到https。