Wildfly 不断将 localhost:8080/app 重定向到 localhost:8080/app/ 以 403 错误结尾

Posted

技术标签:

【中文标题】Wildfly 不断将 localhost:8080/app 重定向到 localhost:8080/app/ 以 403 错误结尾【英文标题】:Wildfly keeps redirecting localhost:8080/app to localhost:8080/app/ ending in 403 error 【发布时间】:2019-04-18 12:04:14 【问题描述】:

我遇到了一种非常奇怪的情况,我被重定向到以 / 结尾的应用程序 URL。这会导致 403 错误 Forbidden。

我已禁用我使用的 apache 反向代理。我已经禁用了所有配置的弹簧安全性东西,所以我会说这一切都被丢弃了。 我调试了 io.undertow.servlet.handlers handleRequest,它是 Wildfly 中我的 servlet 的入口点,我正在进入方法:

public void handleRequest(final HttpServerExchange exchange) throws 例外

一个

HttpServerExchange GET /app/

所以这意味着重定向到 /app/ 发生在调用任何 servlet 之前。

在 firefox 开发人员控制台中,我看到发出了 2 个请求,一个针对“app”,一个针对“/app/”,后者是进入调试的请求。 在第一个请求(对于“应用程序”)的响应标头中,我得到:

Connection keep-alive Content-Length 0 Date Thu, 15 Nov 2018 格林威治标准时间 11:23:06 位置 http://localhost:8080/app/ 服务器 WildFly/10 X-Powered-By Undertow/1

我知道 Wildfly/undertow 中的某些东西正在将我的初始请求重定向到 /app/,但它会是什么?

有趣的是,在 Wildfly 处理第二个请求之前,我看不到第一个请求的响应标头。

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

所以它似乎是 undertow 的一个功能...如果内容根被请求时没有 / 并且它包含在版本 1.0.0.Beta5 中,那么有人请求添加额外的 /。

https://issues.jboss.org/browse/UNDERTOW-89

编辑

第一个谜团解决了,添加了额外的“/”。 但为什么是 403 '禁止'?好吧,似乎有人忘记添加定义为欢迎页面的 index.html。添加 index.html 后,一切都按预期工作......

希望这可以帮助其他遇到同样问题的人。

【讨论】:

别忘了,您可以接受自己的答案,这样它就不会在列表中显示为不接受!很高兴你知道了!

以上是关于Wildfly 不断将 localhost:8080/app 重定向到 localhost:8080/app/ 以 403 错误结尾的主要内容,如果未能解决你的问题,请参考以下文章

Wildfly 10.1.0 Final Remoting端点任务线程不断增长

将 MySql 添加到 JBoss 8.1 (Wildfly)

使用对Wildfly 10的远程EJB调用进行身份验证时出现问题

Wildfly 17 在同一服务器上启用 JMX 远程会导致 logmanager 错误

Springboot Wildfly 10 部署报错 jdk.unsupported module not found

AWS GovCloud 上 docker alpine wildfly 中的 NSS/PKCS11 错误