wildfly - 对 Undertow-handlers.conf 进行 http https 重定向的高级调整

标签 wildfly undertow

我在 AWS 负载均衡器后面使用 WildFly。我希望 WildFly 中的 Undertow 服务器将 http 流量重定向到 https,我可以通过在 undertow-handlers.conf 中放置以下行来成功地做到这一点:

等于('http', %{i,X-Forwarded-Proto}) -> 重定向( https://app.server.com%U )

感谢these folks让我走到这一步!现在这是我想要的调整。有时我使用“dev.server.com”在测试负载平衡器后面运行我的 Web 应用程序,有时我使用“app.server.com”在生产负载平衡器后面运行它。目前,我必须记住在每次切换平衡器时手动编辑 undertow-handlers.conf。我希望有一种方法可以将硬编码的“dev”和“app”更改为机械的东西。有没有办法告诉 Undertow 只使用最初请求的域名?

谢谢。

最佳答案

幸运的是,undertow 配置让您可以通过 Exchange Attributes 访问请求 header 。 ,您已经在使用它来访问 X-Forwarded-Proto header 。所以解决方案是简单地使用请求中的 Host header ,如下所示:

equals('http', %{i,X-Forwarded-Proto}) -> redirect(https://%{i,Host}%U)

关于wildfly - 对 Undertow-handlers.conf 进行 http https 重定向的高级调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45279421/

相关文章:

JAVA接收: use @PathParam and application/x-www-form-urlencoded body in the same method

java - Wildfly web.xml 安全约束使用 ContainerRequestFilter 阻止 JAX-RS 方法的基本身份验证 header

java - 如何将对象从 ContainerRequestFilter 传递到资源

java - Wildfly 不断重定向本地主机 :8080/app to localhost:8080/app/ending in 403 error

java - spring boot中如何使用自定义logger记录访问日志

java - WildFly 正在运行,项目已部署,但 404

java - 应用服务器集成到开发流程中

java - 重新部署项目后,存储在 session 中的对象将不匹配同一类

java - Wildfly 8.2/Undertow - 属性占位符似乎不适用于主机配置中的别名属性

java - 来自 fatjar 的带有 undertow 的静态资源