2012-10-10 10 views
4

Je la structure de répertoire suivant déployé sur JBoss AS 7.1.1.Final (sous standalone/deployments):Activation JBoss AS 7 annonces Directory

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

Comme vous pouvez le voir, il n'y a pas index.html sous doc.war . Lorsque je navigue vers localhost: 8080/doc/module1/, le fichier index.html correct s'affiche, mais lorsque je consulte localhost: 8080/doc/, JBoss affiche un message d'erreur (404 - La ressource demandée est non disponible).

Je pense que cela est lié au fait que les listes de répertoires sont désactivées par défaut dans JBoss AS 7. Comment puis-je activer les listes de répertoires, globalement ou plus spécifiquement pour cette application?

Modifier

Sur la base de la réponse de Mukul Goel, j'ai couru la commande CLI pour ajouter la fonction statiques-ressources, remis en marche le serveur et rejugés la demande, mais cela n'a pas fonctionné.

Voici l'extrait pertinent du fichier standalone.xml. Veuillez noter que le connecteur natif est activé.

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

Voici le message d'erreur que JBoss montre:

JBoss Error Message

Mise à jour

La conclusion à cela semble être qu'il ya un problème avec le JBoss officiel 7.1 Téléchargement 1.1.Final (http://www.jboss.org/jbossas/downloads). Je n'ai pas réussi à obtenir des listes de répertoire fonctionnant avec cette version. En essayant une version plus récente (à partir du serveur JBoss CI au https://ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest/), j'ai pu voir les listes de répertoires après avoir appliqué le changement de configuration que Mukul Goel avait suggéré ci-dessous.

Une source potentielle de ce problème pourrait être la version de JBossWeb utilisée dans JBoss. Les paquets officiels 7.1.1.Final JBossWeb 7.0.13. Mukul (voir ci-dessous) a réussi à faire fonctionner une version de JBoss qui regroupe JBossWeb 7.0.16.

J'accepte la réponse de Mukul Goel pour résoudre ce problème, mais sachez que cela ne fonctionnera probablement pas avec le téléchargement officiel 7.1.1.Final.

Répondre

8

Oui, vous avez raison, les listes de répertoires sont désactivées par défaut (une mesure de sécurité)

Pour activer la liste des répertoires dans JBOSS

Essayez d'exécuter la commande CLI suivante pour activer liste diectory:

En mode Domaine

/profile = full/sous-système = web/configuration = static-resources /: write-attribute (n ame = listes, valeur = vrai)

.

En mode autonome

/sous-système = Web/configuration = statiques-ressources /: écriture attribut (name = listes, valeur = true)

Il génèrera genre suivant de configuration:

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

MISE À JOUR: essayé moi-même que l'utilisateur est confronté à des problèmes

RAN commande CLI pour le standaloneMode

Cela a été généré, notez que le natif est désactivé aussi il n'y a pas de connecteur HTTPS généré pour moi (savoir pourquoi il Don`t montre activé pour vous? utilisez-vous openSSL quelque part?)

relevant code from standalonex.ml

J'ai créé un échantillon webprojet (un projet côté client) avec deux htmls, publié à jboss et cliquez url

http://localhost:8080/sample/ 

et c'est la capture d'écran d'inscription à l'annuaire

Directory listing screenshot

La commande a fonctionné pour moi, donc cela active la liste de répertoire sur JBOSS AS7.1.1 final (J'utilise aussi la même version) Donc la question se résume au reste de la configuration de votre serveur, de la structure de votre application, des technologies que vous utilisez, des ressorts etc et aussi si vous utilisez une bibliothèque SSL.

MISE À JOUR 2 suggéré un nouveau téléchargement et reconfigure l'environnement et voir nwinkler faisait face à des problèmes encore, même avec une nouvelle distribution (jbossweb 7.0.13) Il a donc suggéré de prendre nightly builds de

ci. jboss.org/jenkins/job/JBoss-AS-7.x-latest

Il suffit d'aller sur le lien et télécharger ce qui est en dernier artefact avec succès

Et le problème a été résolu.On dirait un bug avec jbossweb 7.0.13

Do passer par les commentaires, la discussion pourrait être utile

+0

J'ai essayé, mais ça n'a pas marché. La même page d'erreur apparaît. J'ai vérifié que le fichier standalone.xml a été modifié avec la modification que vous avez notée. – nwinkler

+0

: - /, cela devrait fonctionner. avez-vous redémarré votre serveur? aussi. vous utilisez le protocole HTTP/HTTPS? –

+0

Oui, j'ai redémarré le serveur. La requête est faite en utilisant HTTP. Je vois qu'il y a aussi un connecteur pour HTTPS dans le sous-système web. Et le sous-système est activé pour utiliser le connecteur 'natif'. Je mettrai à jour mon message pour montrer la config. – nwinkler