2012-10-10 27 views
4

我已經部署到JBoss AS 7.1.1.Final(standalone/deployments下)以下的目錄結構:啓用JBoss應用服務器7名目錄列表

doc.war 
    -> module1 
     -> index.html 
    -> module2 
     -> index.html 

正如你所看到的,有下doc.war沒有的index.html 。當我瀏覽到本地主機:8080/DOC /模塊1/,顯示出正確的index.html,但是當我瀏覽到本地主機:8080/DOC/,JBoss的顯示錯誤消息(404 - 請求的資源不可用)。

我認爲這與JBoss AS 7中默認關閉目錄列表有關。我如何在全局或更具體地爲這個應用程序啓用目錄列表?

編輯

基於穆庫爾戈埃爾的回答,我跑了CLI命令添加靜態資源功能,重新啓動服務器和重試請求,但沒有奏效。

以下是standalone.xml文件中的相關片段。請注意,我已啓用本機連接器。

<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問題

JBoss Error Message

更新.1.Final(http://www.jboss.org/jbossas/downloads)下載。我沒有設法使用此版本的目錄列表。嘗試更高版本(來自JBoss CI服務器,網址爲https://ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest/),在應用Mukul Goel在下面提出的配置更改後,我能夠看到目錄列表。

此問題的潛在來源可能是JBoss中使用的JBossWeb版本。官方7.1.1.Final捆綁了JBossWeb 7.0.13。 Mukul(見下文)能夠運行捆綁了JBossWeb 7.0.16的JBoss版本。

我接受Mukul Goel的答案,解決這個問題,但請注意,它可能不適用於官方7.1.1.Final下載。

回答

8

是的,你是對的,目錄列表默認情況下禁用(安全措施)

要啓用目錄列表中JBOSS

嘗試運行以下CLI命令啓用diectory上市:

在域模式

/簡檔=全/子系統=幅/配置=靜態資源/:寫屬性(正ame = listing,value = true)

在單機模式

/子系統=網絡/配置=靜態資源/:寫屬性(名稱=列表,值= TRUE)

它會生成以下樣配置:

 <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

這是產生CLI命令,請注意,本機被禁用也有對我來說不會產生HTTPS連接器(唐`知道爲什麼它是表示已啓用?你在某處使用openSSL嗎? )

relevant code from standalonex.ml

我創建了一個樣本webprojet(客戶端項目)有兩個HTMLS,公佈它JBoss和打URL

http://localhost:8080/sample/ 

,這是目錄列表截圖

Directory listing screenshot

該命令爲我工作,所以這確實會打開JBOSS AS7.1.1 Final上的目錄列表(我也使用相同的版本) 所以問題歸結於您的服務器配置的其餘部分,您的應用程序結構,您正在使用的技術,彈簧等,以及如果您正在使用某些ssl庫。

更新2 建議一個新的下載和重新配置環境和看到 nwinkler仍然面臨問題,即使有新的分佈(JbossWeb 7.0.13),所以建議採取從

CI每晚構建。 jboss.org/jenkins/job/JBoss-AS-7.x-latest

剛去的鏈接和最後的成功假象下下載最新

問題解決了。貌似有些bug與jbossWeb 7.0.13

幹什麼去通過的意見,討論可能會有所幫助

+0

我想這一點,但沒有奏效。出現相同的錯誤頁面。我確認了standalone.xml文件已經被修改了。 – nwinkler

+0

: - /,它應該工作。 你重新啓動了你的服務器嗎? 也。你正在使用HTTP協議/ HTTPS? –

+0

是的,我重新啓動了服務器。該請求使用HTTP完成。我看到Web子系統中還有一個HTTPS連接器。並且該子系統可以使用「本機」連接器。我會更新我的帖子以顯示配置。 – nwinkler