Почему мой виртуальный каталог IIS работает с http://localhost, но не http://computername?

Мне дали задачу добавляющей функциональности к существующему веб-сайту IIS 6.0. Чтобы сделать это, я создал приложение MVC ASP.NET. Это хорошо работает, когда развертывается как свой собственный сайт, но, кажется, не работает, когда я пытаюсь развернуть его как виртуальный каталог на фактическом сайте, где это должно жить.

Имя сервера является CWEBSERVER, и IP 192.168.1.11. От рассмотрения менеджера по IIS это - структура сайта:

(Default Website) (root)
  - PRODUCTION (vDir)
  - CONTENT (not a vDir)
  - DATAFOLDER (vDir, contains MVC app, just added by me, not working)

Странная вещь состоит в том, что, когда я ввожу следующий URL от браузера на сервере, он работает:

http://localhost/DATAFOLDER/account.aspx
http://127.0.0.1/DATAFOLDER/account.aspx
http://192.168.1.11/DATAFOLDER/account.aspx

Следующий URL (который является тем, что я ДОЛЖЕН работать) не делает:

http://CWEBSERVER/DATAFOLDER/account.aspx

Ошибка, которую я получаю, является "Ресурсом, не может быть найден".

После взгляда ближе, я понял, что запросы на http://CWEBSERVER идут в ПРОИЗВОДСТВО vDir, но звонит в http://localhost, или http://192.168.1.11 идет в корень веб-сайта. Я предполагаю, что это - что-то установка исходным разработчиком сайта. Я не уверен, как изменить эту установку, но я не думаю, что могу изменить ее так или иначе, потому что существует на самом деле тонна других каталогов, которые были бы затронуты. Другая вещь, на которую я хотел указать, является этим: папка CONTENT доступна путем движения в http://CWEBSERVER/CONTENT. Это действительно странно, так как я думал, что http://CWEBSERVER указал на меня на корень, таким образом, я не буду думать, что "/СОДЕРЖАНИЕ" на самом деле смог бы добраться до папки CONTENT.

Теперь моя проблема - это: как я получаю свое доступное DATAFOLDER с помощью http://CWEBSERVER/DATAFOLDER? Я думал бы, что должен просто вставить DATAFOLDER vDir ПРОИЗВОДСТВА vDir. Я попробовал его, и использование localhost или IP, через который это все еще доступно:

http://localhost/PRODUCTION/DATAFOLDER/account.aspx
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx

Когда я использую CWEBSERVER, однако, он все еще перестал работать:

http://CWEBSERVER/DATAFOLDER/account.aspx

Ошибка является все еще "Ресурсом, не может быть найден".. Кто-либо может пролить некоторый свет на это? А именно, у меня есть эти вопросы:

  1. Как http://localhost переходит к корню, и http://CWEBSERVER переходит к ПРОИЗВОДСТВУ vDir? Где я могу изменить эти настройки?
  2. Почему "http://localhost/PRODUCTION/DATAFOLDER/account.aspx" работал бы, но не "http://CWEBSERVER/DATAFOLDER/account.aspx"?

Принятый ответ на этот вопрос (кому будет присуждена щедрость) должен будет смочь сделать ее так, я могу получить доступ к http://CWEBSERVER/DATAFOLDER/account.aspx.Спасибо!

8
задан skb 26 May 2009 в 00:23
поделиться

3 ответа

Скорее всего, у вас IIS привязан только к IP-адресу. Перейдите в диспетчер IIS, затем перейдите к свойствам на веб-сайте. Затем на вкладке веб-сайта перейдите к свойствам.

Добавьте идентификатор для этого значения заголовка хоста.

При необходимости вы можете добавить несколько привязок.

update

Думаю, теперь я знаю, чего вы хотите. В диспетчере IIS разверните свой веб-сайт по умолчанию. Затем щелкните правой кнопкой мыши рабочий виртуальный каталог и выберите «Создать виртуальный каталог». Назовите эту новую папку DATAFOLDER. Затем привяжите это к существующему месту в вашей файловой системе.

Я действительно думаю, что вам нужно немного очистить это. Первое, что я должен сделать, это решить, как на самом деле все должно быть доступно. Другими словами, когда они набирают http://www.mysite.org/ , что это должно быть? Если это каталог PRODUCTION, создайте новый сайт и укажите его на каталог PRODUCTION, затем создайте в нем свое виртуальное приложение DATAFOLDER.

11
ответ дан 5 December 2019 в 08:25
поделиться

Сделайте, как сказал Крис Лайвли, и добавьте дополнительные привязки для других имен хостов или добавьте новый сайт с настройками для того же содержимого. IIS отвечает, видя информацию заголовка хоста, и если у вас есть только веб-сайт по умолчанию с одной привязкой к порту 80, он не будет обрабатывать все возможные заголовки.

Если имя является внутренним для вашей компании, например имя компьютера или Внутренняя запись DNS, которую вы могли бы избежать, позволив привязке по умолчанию выполнить свою работу. Если это не сработает при тестировании, добавьте привязку для этой ситуации (CWEBSERVER или mysite.org). Протестируйте его с www и без него, если вы хотите, чтобы он работал в обоих направлениях.

Нет большого недостатка в добавлении нескольких «сайтов» в IIS для одного и того же контента. Например, вы могли указать

mysite.org на /PRODUCTION/DATAFOLDER/index.html

и

marketingsite. com указал на /PRODUCTION/DATAFOLDER/index.html[1239 providedThen вы можете делать такие вещи, как разные настройки SSL и так далее. На моем веб-сервере ничто не попадает на веб-сайт по умолчанию, если что-то не пойдет не так (например, я установил новый внешний IP-адрес и мне еще не пришлось изменять привязки).

Выберите яд, но по сути вам просто нужно добавить настройки в IIS пока он не обработает все возможные адреса так, как вы этого хотите.

1
ответ дан 5 December 2019 в 08:25
поделиться

добавить '192.168.1.11 cwebserver' в% Windir% / system32 / drivers / etc / hosts

0
ответ дан 5 December 2019 в 08:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: