我遇到了一个非常奇怪的情况,我被重定向到以/结尾的应用程序URL。这将导致403错误Forbidden。
我已经禁用了我使用的apache反向代理。我已经禁用了所有配置的spring安全性,所以我想说这一切都被丢弃了。我调试io.undertow.servlet.handlers handleRequest,这是我的servlet在Wildfly中的入口点,我正在使用以下方法:
public void handleRequest(最终HttpServerExchange交换(throws异常{
HttpServerExchange{GET/app/
因此,这意味着重定向到/app/发生在调用任何servlet之前。
在firefox开发人员控制台中,我看到有两个请求,一个是"app",紧接着一个是进入调试的"/app/"。在第一个请求(针对"应用程序"(的响应标头中,我得到了:
连接保持活动内容长度0日期2018年11月15日星期四11:23:06 GMT位置http://localhost:8080/app/服务器
WildFly/10 X-Powered-By-Undertow/1
我知道Wildfly/understream中有东西正在将我的初始请求重定向到/app/,但它可能是什么?
有趣的是,在wildfly处理第二个请求之前,我看不到第一个请求的响应标头。
非常感谢您的帮助。
所以这似乎是潜流的一个特征。。。有些人请求添加一个额外的/,如果请求的内容根没有/,并且它包含在1.0.0.Beta5版本中。
https://issues.jboss.org/browse/UNDERTOW-89
编辑:
第一个错误被解决了,添加了额外的"/"。但为什么403是"禁忌"呢?嗯,似乎有人忘记添加被定义为欢迎页面的index.html。添加index.html后,一切如预期。。。
希望这能帮助其他有同样问题的人。