我有一个用 Scala 和 Scalatra 编写并运行在 AWS ECS 上的服务,通过 AWS ELB 监听。我将 ELB 配置为 TLS 终结器:端口 443 上的 HTTPS 流量和端口 80 上的 HTTP 流量被路由到监听 ECS 任务端口 8080 的服务。
我想将所有 HTTP 流量重定向到 HTTPS。我了解 ELB 根据原始请求将 header X-Forwarded-Proto
设置为 http
或 https
。
处理重定向的最佳方式是什么?
最佳答案
如果您的 Scalatra 应用程序前端有反向代理,您可以在此处将 http 重定向到 https: https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/
如果您没有反向代理,则必须在 Scalatra 应用程序中执行相同的操作。我认为最简单的方法是创建一个 servlet 过滤器,它通过检查 X-Forwarded-Proto
header 将 http 重定向到 https。
关于scala - 在 Scalatra 中将 HTTP 请求重定向到 HTTPS 的最简洁方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750197/