我遇到一种非常奇怪的情况,我被重定向到以/结尾的应用程序URL。这将导致403错误(禁止)。
我已禁用我使用的apache反向代理。我已经禁用了所有已配置的spring security东西,所以我会说这一切都被丢弃了。 我调试了io.undertow.servlet.handlers handleRequest,这是我在Wildfly中servlet的入口,并且进入了方法:
公共无效handleRequest(最终HttpServerExchange交换)抛出 异常{
a
HttpServerExchange {GET / app /
因此,这意味着重定向到/ app /的过程是在调用任何servlet之前发生的。
在firefox开发人员控制台中,我看到发出了2个请求,一个是对“ app”的请求,紧接着是对“ / app /”的一个请求,这是在调试中输入的一个请求。 在第一个请求的响应标头(对于“ app”)中,我得到:
连接保持活动内容长度0日期2018年11月15日,星期四 11:23:06 GMT位置http://localhost:8080/app/服务器
WildFly / 10 X-Powered-by Undertow / 1
我了解到Wildfly / undertow中的某些内容会将我的初始请求重定向到/ app /,但这又是什么呢?
有趣的是,直到第二个请求由wildfly处理后,我才能看到第一个请求的响应标头。
非常感谢您的帮助。
答案 0 :(得分:2)
因此,这似乎是underwow的功能...如果要求内容根不带/且包含在1.0.0.Beta5版本中,则有人要求添加一个额外的/。
https://issues.jboss.org/browse/UNDERTOW-89
编辑:
解决了第一个难题,添加了额外的'/'。 但是为什么要选择403“禁止”?好吧,似乎有人忘记添加定义为欢迎页面的index.html。添加index.html后,它可以正常运行...
希望这可以帮助其他遇到相同问题的人。