【问题标题】:Wildfly keeps redirecting localhost:8080/app to localhost:8080/app/ ending in 403 errorWildfly 不断将 localhost:8080/app 重定向到 localhost:8080/app/ 以 403 错误结尾
【发布时间】: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 处理第二个请求之前,我看不到第一个请求的响应标头。

非常感谢任何帮助。

【问题讨论】:

    标签: java servlets jboss wildfly undertow


    【解决方案1】:

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

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

    编辑

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

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

    【讨论】:

    • 别忘了,您可以接受自己的答案,这样它就不会在列表中显示为不接受!很高兴你知道了!
    猜你喜欢
    • 2018-08-07
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多