undertow-handlers.conf 中的规则将 HTTP 重定向到 HTTPS

2024-02-06

我在负载均衡器后面有一个 Wildfly,它们之间的连接始终是 HTTP。客户端和负载均衡器之间的连接可以是 HTTP 或 HTTPS。

负载均衡器设置一个标头 (X-Forwarded-Proto) 来让 Wildfly 知道客户端正在使用哪个协议。

我正在尝试编写一个 Undertow 规则来重定向到 HTTPS,同时考虑到上述所有条件。

这是我比较成功的尝试之一(这条规则写在undertow-handlers.conf文件,它是该文件中唯一的东西):

正则表达式('/(.*)') 和 regex(pattern='http',value='%{i,X-Forwarded-Proto}',full-match=true)-> 重定向(https://server.com/ https://server.com/${1})

当客户端尝试访问如下 URL 时:http://server.com/myapp 被重定向到https://server.com,但是路径/myapp不见了。

如何修复 Undertow 规则以保留完整路径?


Try:

equals('http', %{SCHEME}) -> redirect(https://server.com/%U)

Or

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

取决于您是否在 HTTP 侦听器中启用了代理地址转发(如果您启用了 undertow,则会自动处理 X-Forwarded-Proto,以便它显示在 %{SCHEME} 下)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

undertow-handlers.conf 中的规则将 HTTP 重定向到 HTTPS 的相关文章

  • 在 Laravel 中使用 Socialite 登录后重定向到 URL

    我需要使用以下 URL 注册参加锦标赛 http laravel dev tournaments 1 register 该 URL 位于中间件 auth 中 因此如果用户未登录 他将被重定向到登录页面 我需要的是重定向到 http lara
  • Hibernate MappingException:外键必须与引用的主键具有相同的列数

    我有一个名为 FatRabbitCarrot 的实体 Entity public class FatRabbitCarrot private Long id private FatRabbit fatRabbit private Carro
  • 添加新数据源(mysql)wildfly

    我正在尝试将新的数据源 mysql jdbc 驱动程序添加到我的 Wildfly 服务器 我创建了文件夹 wildfly x x x modules system layers base com mysql main 我这里有 jdbc j
  • AWS 签名的 URL 太长,无法缩短

    我正在使用 AWS 创建一个签名 URL 以便我可以安全地将此 URL 传递给另一个 API 以供临时使用 签名的 URL 指向 S3 资源 问题是其他 API 不接受这么长的链接 因此我正在尝试缩短它 我尝试使用类似的缩短器goo gl
  • 如何使用 ASP classic 进行重定向

    我想从一个 URL 重定向到另一个 URL http female deals com http male deals com 如何通过在浏览器中将 URL 更改为新 URL 以及页面直接转到新 URL 而无需转到旧 URL 并进行刷新来实
  • IE 302 重定向无缓存标头问题

    发布信息后返回 302 重定向 此重定向旨在重新加载当前页面 这一切都工作正常 但 IE 在标头中添加了 No Cache Cache Control no cache 我们使用 Squid 来缓存我们的内容 并将其放在标头中绕过了鱿鱼 由
  • 多个域到单个网站

    我有多个域指向同一个网站 FFFF com FFFF ca FFFF org 等 重写 FFFF com 所有传入流量的最佳方法是什么 URL 重写还是 301 寻找最佳实践 这两个将在 htaccess 中处理 对吧 Thanks 在这种
  • 使用 div 作为链接 - 打开新选项卡的选项?

    目前 我在我的网站中使用这一小段 js 来允许我的 div 充当按钮 div Google div 但当我浏览网页时 我经常做的事情是打开大量标签 有什么方法可以修改我的代码以实现此目的吗 这应该可以做到
  • Django - 带上下文的重定向

    我有一个注册页面 它获取用户的用户名和密码并将其保存在数据库中 如果用户注册成功 我想将他重定向到 登录 页面 该页面的值表示注册成功 重定向页面上的预期输出 您已成功注册 Sign In Username Password 因此 我从注册
  • 使用 Wildfly 在 Jersey 上使用 @PersistenceUnit 注入 EntityManagerFactory

    我尝试使用 PersistenceUnit 注入 EntityManagerFactory 但它始终为空 我认为我的 persistence xml 没问题 因为我可以使用以下代码获取 EntityManager EntityManager
  • 发布后忽略基本标签

    在 Chrome 上我收到错误Refused to execute a JavaScript script Source code of script found within request 在发布包含域名的数据后 另请注意任一页面上都缺
  • htaccess 正则表达式目录到变量

    我需要对某些 URL 从目录到变量进行 301 重定向 EXAMPLE http domain com es stackoverflow gt http domain com stackoverflow lang es http domai
  • 在 android studio 上单击推送通知后重定向到特定活动

    我正在努力开发一个 Android 应用程序 以便在单击所有传入的推送通知时将应用程序重定向到特定的活动页面 我是 Android 开发新手 对我的编程感到抱歉 下面是推送通知部分的 android manifest xml 如果对此主题有
  • 将旧锚链接重定向到新锚链接

    我正在彻底修改其他人为我的组织构建的网站 它最初设置为 不太好 的锚链接 其中包含空格 我已经用效果更好的新锚替换了这些锚 例子 其中一位老主播看起来像这样 course To Have哪些浏览器会幸运地转换为 course To 20Ha
  • 使用 EAR 与 WAR 相比有何优势?

    我们正在 Wildfly 8 上部署 JavaEE 7 应用程序 之前 我们已将所有企业应用程序 WAR 多个 EJB JAR 文件 打包为 EAR 然而 现在 JavaEE 允许您将 EJB 打包在 WAR 文件中 或者作为 WAR 的
  • 表单提交后 Django 重定向不起作用

    Django 新手 所以这个可能有一个非常简单的答案 但我一生都找不到具体的解决方案 我只是想在使用 FileField 提交表单后重定向到新的 URL 我可以单独导航到该 URL 效果很好 文件上传正确 因此我知道它已正确验证 但重定向返
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • Symfony 2:如果用户具有特定角色,则将用户重定向到页面

    我有一个小问题 我希望无论用户在我的网站上哪里 如果他具有 ROLE DEGRADE 角色 他就会被重定向到特定页面 我该怎么做 我必须使用防火墙 我不想将用户重定向到表单登录 而只是重定向到一个简单的页面 我希望在我的网站上随处可见 而不
  • 将非 www 和非 http 重定向到 https

    昨天我在服务器上安装了 SSL 从那以后我无法访问某些页面 www example com amsterdam shoes example com 阿姆斯特丹 两者都不会重定向到 https 甚至不会重定向到 http www exampl
  • Django 基于类的视图上的 success_url 的反向抱怨循环导入

    当使用基于方法的视图时 重定向为reverse没有抱怨这一点 并且仍然可以找到 root url conf 但是 在基于阶级的观点中 它抱怨 ImproperlyConfigured at blog new post The include

随机推荐