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

标签 scala ssl redirect scalatra aws-elb

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

我想将所有 HTTP 流量重定向到 HTTPS。我了解 ELB 根据原始请求将 header X-Forwarded-Proto 设置为 httphttps

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

最佳答案

如果您的 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/

相关文章:

regex - 在子文件夹中用 .htaccess 重写不起作用

scala - SBT - 无法精确 Play 2 应用程序的项目依赖项

scala - 如何让 "scalas"脚本运行程序更安静?

php - SSL3_GET_SERVER_CERTIFICATE :certificate verify failed using xampp on mac

apache - MQTT over websocket over Apache SSL

ajax - 跨域ajax不适用于移动Safari中的重定向

php - .htaccess 301 重定向和删除 .html 合并

java - Scala 中泛型类型的 HashMap 排序问题

scala - 如何隐式地使用方法名称来查找到类型的转换?

wcf - 使用SSL时私钥存储在哪里?