如何在不允许目录浏览的情况下使用unfiltered-jetty提供静态文件?
Jetty具有dirAllowed设置,但似乎无法从Unfiltered轻松访问。
答案 0 :(得分:0)
这不是一个完整的答案,但我打赌你可以通过查看两个地方把它放在一起:
1.未经过滤的码头代码中的org.eclipse.jetty.server.Server类型的val unfiltered.jetty.Server.under。
2. 'Configuring a File Server'在Jetty 8(我认为)wiki中。也许那个resource_handler.setDirectoriesListed(true)调用了?
答案 1 :(得分:0)
这适用于使用Jetty 8的Unfiltered 0.8.4:
import org.eclipse.jetty.server.handler.{HandlerCollection,ContextHandler}
import org.eclipse.jetty.server.Handler
def disableDirBrowsing(hc: Array[Handler]) {
hc.map { h =>
h match {
case nested: HandlerCollection => disableDirBrowsing(nested.getHandlers)
case c: ContextHandler =>
c.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false")
case _ => // ignore everything else
}
}
}
如果srv
是您的未经过滤的服务器对象 添加上下文后,您现在可以禁用目录浏览,如下所示:
disableDirBrowsing(srv.underlying.getHandlers)