Pourquoi mon répertoire virtuel IIS travailler avec http://localhost mais pas http://computername?
J'ai été donné la tâche de l'ajout de fonctionnalités à un site web IIS 6.0. Pour le faire, j'ai construit un ASP.NET application MVC. Il fonctionne très bien lorsqu'il est déployé car il site propre, mais ne semble pas fonctionner lorsque j'essaie de le déployer comme un répertoire virtuel sur le site même où il a besoin pour vivre.
Le nom du serveur est CWEBSERVER, et que l'adresse IP 192.168.1.11. En regardant le Gestionnaire des services IIS, c'est la structure du site:
(Default Website) (root)
- PRODUCTION (vDir)
- CONTENT (not a vDir)
- DATAFOLDER (vDir, contains MVC app, just added by me, not working)
La chose étrange est que lorsque je tape l'URL suivante à partir d'un navigateur sur le serveur cela fonctionne:
http://localhost/DATAFOLDER/account.aspx
http://127.0.0.1/DATAFOLDER/account.aspx
http://192.168.1.11/DATAFOLDER/account.aspx
L'URL suivante (qui est celui que j'ai BESOIN de travailler) n'a pas d':
http://CWEBSERVER/DATAFOLDER/account.aspx
L'erreur que j'obtiens est "La ressource ne peut pas être trouvé."
Après regardant de plus près, j'ai réalisé que les demandes de http://CWEBSERVER allez à la PRODUCTION vDir, mais les appels à http://localhost ou http://192.168.1.11 allez à la racine du site web. Je suppose que c'est quelque chose d'installation par le premier concepteur de site. Je ne suis pas sûr de la façon de modifier cette configuration, mais je ne pense pas que je peux le changer de toute façon parce qu'il existe une tonne d'autres répertoires qui seraient touchés. L'autre chose que je voulais préciser ceci: le CONTENU du dossier est accessible en allant à http://CWEBSERVER/CONTENT. C'est vraiment bizarre car je pensais que le http://CWEBSERVER m'a montré à la racine, donc je ne pense pas que le "/CONTENU" serait en fait être en mesure d'obtenir le CONTENU d'un dossier.
Maintenant mon problème est le suivant: comment puis-je obtenir mon DATAFOLDER accessible via http://CWEBSERVER/DATAFOLDER? Je pense que je devrais juste mettre le DATAFOLDER vDir à l'intérieur de de la PRODUCTION vDir. Je l'ai essayé, et en utilisant le localhost ou IP c'est toujours accessible via:
http://localhost/PRODUCTION/DATAFOLDER/account.aspx
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx
Lorsque j'utilise CWEBSERVER, cependant, il ne parvient toujours pas:
http://CWEBSERVER/DATAFOLDER/account.aspx
L'erreur est toujours La ressource ne peut pas être trouvé.". Quelqu'un peut-il éclairer sur ce point? Plus précisément, j'ai ces questions:
- Comment http://localhost aller à la racine, et http://CWEBSERVER vont à la PRODUCTION vDir? Où puis-je changer ce paramètre?
- Pourquoi "http://localhost/PRODUCTION/DATAFOLDER/account.aspx" mais pas "http://CWEBSERVER/DATAFOLDER/account.aspx"?
La accepté de répondre à cette question (dont la prime sera attribué à) devront être en mesure de le faire afin que je puisse accéder à http://CWEBSERVER/DATAFOLDER/account.aspx. Merci!
ping cwebserver et utiliser cette adresse ip dans votre url et de voir si cela fonctionne. cela vous dira si c'est un dns/pare-feu de problème ou si c'est un iis problème
OriginalL'auteur skb | 2009-05-22
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement IIS lié à l'adresse IP uniquement. Allez à Gestionnaire des services IIS, puis allez dans les propriétés sur le site web. Puis, à partir de l'onglet site Web, allez dans les propriétés.
Ajouter une identité pour que l'en-tête d'hôte valeur.
Si nécessaire, vous pouvez ajouter de multiples liaisons.
mise à jour
Je pense que je sais ce que vous voulez maintenant.
À partir du Gestionnaire des services IIS, développez votre site web par défaut. Puis cliquez droit sur la Production de répertoire virtuel et choisissez "Créer un Répertoire Virtuel". L'appel de cette nouvelle DATAFOLDER. Ensuite, le lien à l'emplacement existant sur votre système de fichiers.
Je pense vraiment que vous avez besoin de nettoyer un peu. La première chose que je voudrais faire est de décider de la façon dont tout est vraiment censé être accessible. En d'autres termes, quand ils type http://www.mysite.org/ Ce qui est censé être? Si c'est le répertoire de PRODUCTION, puis de Créer un nouveau site et pointer vers le répertoire de PRODUCTION, puis de créer votre DATAFOLDER virtuel app sous.
Merci pour votre mise à jour, Chris. J'ai essayé d'ajouter le DATAFOLDER vDir en vertu de la PRODUCTION vDir, mais pour une raison que je ne suis toujours pas en mesure d'y accéder à l'aide http://www.mysite.org/DATAFOLDER. localhost/PRODUCTION/DATAFOLDER fonctionne cependant. Je pense qu'il pourrait aider si je pouvais d'abord comprendre pourquoi http://www.mysite.org est dirigée par la PRODUCTION vDir, mais localhost va à la racine du site web. Peut-être que si je pouvais comprendre cette différence, j'ai pu voir qu'est-ce que rendre les choses toujours pas de travail. Des idées?
Vous devriez vraiment commencer avec vos fixations. Il sonne comme un virtuel dir de la PRODUCTION a été créé quand il n'aurait pas été. Démarrer avec un nouveau site, de donner à celui-ci le http://www.mysite.org liaison et qu'il pointe vers votre répertoire de PRODUCTION. Puis ajouter un répertoire virtuel-dessous, où sont les points de votre datafolder.
Regarde comme je l'était, et il y avait effectivement DEUX sites sur mon serveur. Chacun avec différentes liaisons. Lorsque j'ai mis le vDir sur le bon site, il a travaillé. Puisque vous m'a aidé le plus, je suis en vous attribuant le bounty. Merci!
Je suis content que ça fonctionne. Merci.
OriginalL'auteur NotMe
Bien que je ne suis pas allé à travers toute la liste des réponses, je suis tombé sur cette solution de la façon suivante. Ma page web, les liens fonctionnent avec
localhost
mais pas avec un IP ou le nom de l'ordinateur. Il n'a pas une erreur, surtout avec une GRANDE IE (****).Pour corriger cela, j'ai ajouté ce site dans les SITES de CONFIANCE d'internet explorer.
Peut-être qu'il permet de réduire une certaine frustration!
OriginalL'auteur HydTechie
J'ai eu un problème similaire qui a été résolu par l'attribution d'une adresse IP statique à mon serveur IIS. (Je lui ai donné la même adresse IP que le allouée dynamiquement, qui a été 192.168.56.101.)
Cela peut aider quelqu'un.
Également vérifier cette pour les paramètres de pare-feu.
OriginalL'auteur Massood Khaari
Faire comme Chris Animé, a déclaré et d'ajouter plus de liaisons pour les autres noms d'hôte ou d'ajouter un nouveau site avec les réglages pour le même contenu. IIS répond en voyant l'en-tête d'hôte de l'information et si vous n'avez que le Site Web par Défaut avec une liaison unique sur le port 80 il ne gère pas tous les en-têtes.
Si le nom est interne à votre entreprise, comme le nom de la machine ou un DNS interne d'entrée que vous pourriez sortir avec de laisser la valeur par défaut de liaison à faire le travail. Si cela ne fonctionne pas dans l'ajout d'une liaison pour cette situation (CWEBSERVER ou mysite.org). Test avec et sans le www, si vous vous souciez de fonctionner dans les deux sens.
Il n'y a pas beaucoup inconvénient à l'ajout de plusieurs "sites" dans IIS pour le même contenu. Par exemple, vous pourriez avoir
mysite.org pointé /PRODUCTION/DATAFOLDER/index.html
et
marketingsite.com pointé /PRODUCTION/DATAFOLDER/index.html
Alors vous pouvez faire des choses comme avoir différents paramètres SSL et ainsi de suite. Sur mon serveur web rien de hits Site Web par Défaut, sauf si quelque chose va mal (comme j'ai créé une nouvelle adresse IP externe et la nécessité n'avez pas encore modifié les liaisons).
Choisissez votre poison, mais essentiellement, vous avez juste à ajouter des paramètres dans IIS jusqu'à ce qu'il s'occupe de toutes les adresses possibles la façon dont vous le souhaitez.
OriginalL'auteur pplrppl
Pour moi, c'était un problème de firewall :
Aller dans: Panneau de configuration -> le Pare-feu Windows -> Autoriser un Programme ou une Fonctionnalité Via le Pare-feu Windows
Faites défiler vers le bas de la liste et sélectionnez la case à cocher pour les services www (http).
Maintenant je peux accéder http://computername.domain nom
OriginalL'auteur Tarun
ajouter "192.168.1.11 cwebserver' dans le répertoire %Windir%/system32/drivers/etc/hosts
OriginalL'auteur balint