Подтвердить что ты не робот

IIS 7.5 под Win7 Prof. 64bit Возвращает пустую страницу (без HTML вообще)

Я пытаюсь настроить среду разработки в Windows7, и у меня проблемы с работой IIS. Я настроил все так, как я делал с IIS6, поэтому у меня есть основы. Моя проблема должна быть в том, что изменилось между IIS7 и IIS7.5 или в ОС.

Ни один из моих сайтов не вернет html. Не сайт по умолчанию, а не новый добавленный сайт.

Если I

telnet localhost 80

Затем на пустом экране

GET / <enter>

Я ничего не получаю, ни одного элемента заголовка или HTML.

Если я ввожу мусор вместо запроса GET, я получаю следующий HTML:

HTTP/1.1 400 Bad Request Content-Type:
text/html; charset=us-ascii Server:
Microsoft-HTTPAPI/2.0 Date: Thu, 17
Sep 2009 17:04:01 GMT Connection:
close Content-Length: 326

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>Bad
 Request</TITLE> <META
 HTTP-EQUIV="Content-Type"
 Content="text/html;
 charset=us-ascii"></HEAD>
 <BODY><h2>Bad Request - Invalid
 Verb</h2> <hr><p>HTTP Error 400. The
 request verb is invalid.</p>
 </BODY></HTML>

Итак, это доказывает, что IIS существует и обрабатывает запросы на порт 80.

В моем пути IIS Logs у меня нет файлов вообще. Поэтому по какой-либо причине журналы не записываются.

Если я просмотрю основные настройки на веб-сайте в диспетчере IIS, затем нажмите кнопку "Проверить соединение", я получаю сообщение об ошибке, связанной с правами:

Сервер настроен на использование сквозная аутентификация с помощью встроенная учетная запись для доступа к указанный физический путь. Однако IIS Менеджер не может проверить, встроенная учетная запись имеет доступ. Убедиться что идентификатор пула приложений Прочитайте доступ к физическому пути. Если этот сервер соединен с доменом и идентификатор пула приложений NetworkService или LocalSystem, проверьте что\$имеет Прочитайте доступ к физическому пути. затем снова проверьте эти настройки.

My AppPool работает как ApplicationPoolIdentity, который, похоже, не является реальным пользователем, поэтому я не могу предоставить разрешения для файлов ApplicationPoolIdentity. Я сделал в качестве теста команду IIS_IUSR, и все остальные могли найти полный доступ к пути.

Независимо от того, что я сделал до этого момента, я не видел, чтобы IIS утверждал, что права правильны. Тем не менее, я также никогда не видел ошибки, особенно это не ошибка разрешений (300s).

Итак, какие-то идеи? Я попытался полностью удалить IIS, c:\inetpub и переустановить все. В основном я использую настройку по умолчанию, поэтому это должно быть что-то простое.

Спасибо за ваше время...

4b9b3361

Ответ 1

Я решил это. Для всех, у кого есть проблема, вот что я сделал.

Сначала для репликации проблемы: я устанавливал IIS, выбрав "ASP.NET" в меню "Добавить/удалить Windows". Это выбрало все, что необходимо для IIS для запуска приложений .NET, но интересно, что он не может обслуживать статические страницы (.html, css, js и т.д.). Моя тестовая страница была просто мировой .html-страницей, поэтому именно это было 't служил.

Чтобы исправить это: чтобы включить службу статического контента, вы должны выбрать "Статический контент" в разделе "Общие HTTP-функции" в том же списке "Добавить/удалить список Windows". После этого моя тестовая страница работала нормально.

Вкратце: я не понимаю, как типичный .NET будет работать без статического контента (CSS, Images, Javascript), поэтому я не знаю, почему MS не будет включать статический контент по умолчанию при выборе ASP.NET, Возможно, мой рабочий процесс при установке IIS был неправильным.

Я уверен, что есть способ отслеживать поток запроса, чтобы найти, что запросы статического контента блокируются, но я не знаю, как это сделать.

Ответ 2

Решение Matt Cofer правильное: для просмотра статического контента вы должны установить функцию статического содержимого во время начальной установки. Тем не менее, я обнаружил, что функции добавления/удаления не работают для меня: он показал только подмножество функций и ничего общего с IIS.

Итак... вот еще один способ установить статический контент:

  • Откройте Диспетчер серверов.
    • Start Menu > type "server manager" in search field > click resulting link
  • Разверните Роли node
  • Щелкните правой кнопкой мыши Веб-сервер (IIS) node, чтобы просмотреть контекстное меню
  • Выберите Добавить службы ролей из контекстного меню
  • Когда откроется окно "Добавить службы ролей", перейдите к Web Server > Common HTTP Features
  • Включить Статическое содержимое
  • Нажмите Далее