我将以下目录结构部署到JBoss AS 7.1.1.Final(在standalone/deployments
下):
doc.war
-> module1
-> index.html
-> module2
-> index.html
如您所见,doc.war下没有index.html。当我浏览 localhost:8080 / doc / module1 / 时,会显示正确的index.html,但当我浏览 localhost:8080 / doc / 时,JBoss会显示错误消息( 404 - 请求的资源不可用)。
我认为这与JBoss AS 7中默认关闭目录列表的事实有关。如何在全局或更具体地为这一个应用程序启用目录列表?
修改
根据Mukul Goel的回答,我运行了CLI命令来添加 static-resources 功能,重新启动服务器并重试请求,但它没有用。
以下是standalone.xml
文件中的相关摘要。请注意,我已启用 native 连接器。
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="true">
<configuration>
<static-resources listings="true"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
以下是JBoss显示的错误消息:
更新
所以对此的结论似乎是官方JBoss 7.1.1.Final(http://www.jboss.org/jbossas/downloads)下载存在问题。我没有设法使用此版本的目录列表。尝试更高版本(来自https://ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest/的JBoss CI服务器),在应用Mukul Goel在下面建议的配置更改后,我能够看到目录列表。
此问题的潜在来源可能是JBoss中使用的JBossWeb版本。官方7.1.1.Final捆绑JBossWeb 7.0.13。 Mukul(见下文)能够运行一个捆绑JBossWeb 7.0.16的JBoss版本。
我接受Mukul Goel的答案解决了这个问题,但要注意它可能不适用于官方7.1.1.Final下载。
答案 0 :(得分:8)
是的,你是对的,目录列表默认是禁用的(安全措施)
在JBOSS中启用目录列表
尝试运行以下CLI命令以启用diectory列表:
在域模式下
/简档=全/子系统=幅/配置=静态资源/:写属性(名称=列表,值=真)
在独立模式下
/子系统=幅/配置=静态资源/:写属性(名称=列表,值=真)
它将生成以下类型的配置:
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<configuration>
<static-resources listings="true"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
更新: 当用户遇到问题时自己尝试
standaloneMode的RAN CLI命令
这是生成的,请注意本机已禁用,也没有为我生成HTTPS连接器(不知道为什么它显示为你启用?你在某处使用openSSL吗?)
我创建了一个带有两个htmls的示例webprojet(客户端项目),将其发布到jboss并点击url
http://localhost:8080/sample/
这是目录列表的截图
该命令为我工作,所以这确实打开了JBOSS AS7.1.1 Final上的目录列表(我也使用相同的版本) 所以问题归结为你的服务器配置的其余部分,你的应用程序结构,你正在使用的技术,弹簧等,以及你是否正在使用一些ssl库。
更新2 建议全新下载并重新配置环境并查看 即使有了新的发行版,nwinkler仍然面临着问题(JbossWeb 7.0.13)所以建议从夜间构建
ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest
只需转到链接并下载最新成功工件
下的内容
问题解决了。看起来像jbossWeb 7.0.13的一些错误
请仔细阅读评论,讨论可能会有所帮助