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

Как решить ERR_CONNECTION_REFUSED при попытке подключения к локальному хосту IISExpress - Ошибка 502 (Не удается отладить из Visual Studio)?

Это работает на Windows Server 2008 и работает несколько месяцев назад. Я просто сейчас использую этот сервер снова для некоторых разработчиков с VS.

Это живой веб-сервер, используемый для обслуживания нескольких тестовых сайтов.

Это при запуске Visual Studio, а затем запуск моих проектов для отладки.

Попытка запустить любой сайт через localhost:xxxx при запуске IISExpress (используя фактический порт # в конфигурации для доступа к различным сайтам):

This webpage is not available

ERR_CONNECTION_REFUSED

Я был в этом уже несколько дней, так как я читал, что у других были подобные проблемы, попробовал большинство вещей, которые я прочитал, включая изменение managedruntimeversion от "v4.0" до "v4.0.30319" для .net 4.5 (мне никогда не приходилось это делать раньше) и отключение модуля протоколирования (все предложения найдены здесь).

В моем файле hosts есть только две записи, указывающие на внутренние IP-адреса сервера. Нет localhost связанных IP или ссылок.

Я дошел до переустановки IIS Express и Visual Studio 2013. Я также создал новый сайт WebApplication, чтобы попытаться разрешить это (простые и никакие другие сложные привязки).

Когда я раскручиваю Fiddler, я вижу на странице следующее:

[Fiddler] The socket connection to localhost failed. 
ErrorCode: 10061. 
No connection could be made because the target machine actively refused it 127.0.0.1:23162

Захват Fiddler

Я удалил все настройки прокси-сервера из раздела подключения к локальной сети IE, где до того, как я получил всплывающее окно red-x в VS, указывает, что запуск IISExpress невозможен.

Это не вопрос SSL и не SSL.

У меня был установлен TFS Server - удалено, что в случае каких-то нечетных привязок, которые мешали.

Я пытался несколько раз удалять папку конфигурации/настроек IISExpress.

В текущем приложенииhost.config содержится:

<site name="WebApplication1" id="4">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\TFS-WorkRepository\Sandbox\WebApplication1\WebApplication1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:23162:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />

Мне хотелось бы отметить тег для really-stuck.

Пожалуйста, предложите прочь, так как я не хочу заходить так далеко, как развернуть новый сервер.

- ОБНОВЛЕНИЕ -

В строке URL, когда я ввожу имя компьютера или IP-адрес: xxxx, я получаю ERR_CONNECTION_TIMED_OUT, а не ERR_CONNECTION_REFUSED.

4b9b3361

Ответ 1

Попробуйте изменить номер порта в своем проекте?

Свойства проекта → Веб → Серверы → URL-адрес проекта:

введите описание изображения здесь

Не забудьте нажать Create Virtual Directory или ответить "Да" на приглашение создать виртуальный каталог после изменения номера порта! (Спасибо Коннор)

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

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

Ответ 2

Спасибо за все ответы. Я пробовал их всех, но никто из них не работал у меня. Что было сделано для удаления applicationhost.config из .vs-папки (найденной в папке вашего проекта/решения) и создания нового виртуального каталога (Project Properties > Web > Create Virtual Directory). Надеюсь, это поможет кому-то другому.

Ответ 3

Эта проблема может быть вызвана тем, что в недавнем прошлом вы использовали привязку IP-адреса в конфигурации вашего приложения.

Действия для решения проблемы:

  • Запустить команду ниже при доступе к администратору в администраторе

netsh http show iplisten

Если вы видите что-то вроде ниже, это решение может не помочь вам.

IP-адреса, присутствующие в списке прослушивания IP:

0.0.0.0

Если вы видите что-то отличное от 0.0.0.0, попробуйте выполнить следующие шаги, чтобы исправить это.

  • Запустите эту команду последовательно в расширенном командном терминале

netsh http delete iplisten ipaddress = 11.22.33.44 (где 11.22.33.44 - это фактический IP-адрес, который необходимо удалить)

netsh http add iplisten ipaddress = 0.0.0.0

IISReset

И теперь ваш issexpress настроен на прослушивание любого пинга, идущего на привязку localhost.

Ответ 4

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

В IIS мне пришлось добавить привязки для https на веб-сайт по умолчанию (или, я полагаю, на веб-сайт, на котором вы запускаете приложение).

enter image description here

Теперь мой localhost работает при отладке из Visual Studio.

Ответ 5

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

Ответ 6

Решение Сэма работало для меня, но я не хотел запускать как администратор как постоянное решение.

Вот как я решил это в моем случае:

  • Запустите CMD как admin
  • Введите "netsh http show urlacl" и найдите зарезервированный URL-адрес с соответствующим портом
  • Введите "netsh http delete urlacl url = YourReservedUrlHere"

После этого я мог запускать свое приложение без необходимости прав администратора. Но это перепуталось с возможностью просмотра моего приложения с внешнего компьютера. Достаточно скоро для меня.

Ответ 7

В моем случае это было вызвано переполнением цикла/стека.

Ответ 8

Я решил эту проблему, запустив Visual Studio с Run as administrator. Это также необходимо, если вы хотите опубликовать свой проект в локальном IIS.

Чтобы установить это навсегда: -

  • Щелкните правой кнопкой мыши значок Visual Studio
  • Выберите Properties
  • Нажмите Advanced
  • Убедитесь, что Run as administrator установлен
  • Нажмите OK на выход.
  • Запустите Visual Studio, загрузите проект и начните отладку

Ответ 9

Я решил, перейдя в Свойства проекта → Отладка, после включения SSL и использования адреса в вашем браузере

enter image description here

Ответ 10

У меня такая же проблема. Я попробовал эти шаги:

  1. Закрыто Visual Studio 2017
  2. Удален [solutionPath].vs\config\applicationhost.config
  3. Повторно открыл решение и нажал [Создать виртуальный каталог]
  4. Пытался запустить => ERR_CONNECTION_REFUSED
  5. НЕ УДАЛОСЬ

Еще одна попытка:

  1. Закрыто Visual Studio 2017
  2. Удален [solutionPath].vs\config\applicationhost.config
  3. Удалены. \Documents\IISExpress\config\applicationhost.config
  4. Повторно открыл решение и нажал [Создать виртуальный каталог]
  5. Пытался запустить => ERR_CONNECTION_REFUSED
  6. НЕ УДАЛОСЬ

Еще одна попытка:

  1. Закрыто Visual Studio 2017
  2. Удален [solutionPath].vs\config\applicationhost.config
  3. Удалены. \Documents\IISExpress\config\applicationhost.config
  4. Добавлен 127.0.0.1 localhost в C:\Windows\System32\drivers\etc\hosts
  5. Повторно открыл решение и нажал [Создать виртуальный каталог]
  6. Пытался запустить => ERR_CONNECTION_REFUSED
  7. НЕ УДАЛОСЬ

ЧТО ЭТО РАБОТАЛО:

  1. Закройте Visual Studio 2017
  2. Удалите [solutionPath].vs\config\applicationhost.config
  3. Запустите "Управление сертификатами компьютера" и найдите сертификат "localhost" в Personal-> Сертификаты enter image description here
  4. Удалите этот сертификат (делайте это на свой страх и риск)
  5. Пуск Панель управления\Все элементы панели управления\Программы и компоненты
  6. Найдите "IIS 10.0 Express" (или свою собственную версию IIS Express)
  7. Нажмите "Ремонт" enter image description here
  8. Повторно откройте решение и нажмите [Создать виртуальный каталог]
  9. Запустить веб-проект.
  10. Вы получите этот вопрос: enter image description here. Нажмите "Да"
  11. Вы получите этот Вопрос: enter image description here. Нажмите "Да"
  12. Теперь это работает.

Ответ 11

Моя проблема оказалась полным недостатком понимания перенаправления uri в процессе auth.

Я загрузил некоторый код, содержащий следующее объявление:

string redirecturi = " http://localhost/googlesignin";

Я использовал vs2015 с шаблоном веб-сайта. На моем сайте нет веб-страницы googlesignin!

Итак, почему эта работа вообще работала в течение нескольких дней при разработке моего сайта?

Доказательство того, что случайные ошибки могут привести к работе кода там, где он должен был сбой.

Я изменил googlesigin на GoogleDrive, который является именем моей веб-страницы, и все это сработало!

Мальчик, я глуп!

Ответ 12

Rebuild Все работало для меня. VS2013, IIS Express.

Ответ 13

В моем случае мой коллега изменил имя решения, чтобы после получения последней версии проекта я запустил свое веб-приложение с IIS EXPRESS, а затем получил сообщение ERR_CONNECTION_REFUSED в моем Google Chrome.

После того, как я попробовал все решения, которые я нашел в Интернете, я наконец решил проблему с помощью этих шагов:

  1. Закрыть VS
  2. Удалите папку .vs папке проекта enter image description here

  3. Запуск от имени администратора VS

  4. Откройте "Отладка"> "Свойства [вашего приложения]"> "Интернет".

  5. Измените порт в URL проекта и не забудьте использовать https потому что в моем случае, когда я использую http он все равно не работал.

  6. Нажмите Create virtual directory

  7. Запустите приложение еще раз с помощью IIS EXPRESS.

  8. И веб-приложение успешно запустилось.

Надеюсь, это поможет.

Ответ 14

Убедитесь, что вы также указали стартовую страницу. Щелкните правой кнопкой мыши страницу ASPX, которую вы хотите использовать в качестве стартовой страницы, и выберите "Сделать стартовой страницей".

Ответ 15

Простой обходной путь (он работал для меня) - использовать IP-адрес вместо localhost. Это должно быть хорошо для ваших задач разработки.

Ответ 16

Я пробовал много методов в Chrome, но единственное, что мне помогло, это "Очистить данные браузера"

Пришлось сделать "продвинутую" версию, потому что стандарт не работал. Я подозреваю, что это были "Настройки контента", которые делали это.

Ответ 17

Недавно я столкнулся с этой проблемой, когда копирую исходный код с другого компьютера.

→ Удалить папку .vs (это скрытая папка, поэтому убедитесь, что у вас включена опция просмотра скрытой папки)
→ открой визуальную студию и построй свой проект. Visual Studio создаст новую папку .vs в соответствии с текущей конфигурацией системы.

Ответ 18

**enter image description here**

Восстановление IIS 10 Express решило проблему для меня. Надеюсь, это очистило кэш IIS Express.

Ответ 19

Хотя, возможно, это не связано с вашей проблемой, у меня сегодня была такая же проблема. Как оказалось, я включил модуль перезаписи URL, чтобы заставить мой сайт использовать HTTPS вместо HTTP, и в моей производственной среде это работало просто отлично. Но в моей системе разработки, где он работает как приложение на моем сайте по умолчанию, это не удалось...
Оказывается, у моего сайта по умолчанию не было привязки к HTTPS, поэтому модуль перезаписи отправлял меня из HTTP в HTTPS, но порт HTTPS ничего не слушал...
Есть вероятность, что у вас есть эта проблема по аналогичной причине. Эта ошибка, по-видимому, возникает, если не существует надлежащей привязки для сайта, к которому вы пытаетесь получить доступ...

Ответ 20

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

Я принудительно перенаправил https на RELEASE.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
  #if !DEBUG
  filters.Add(new RequireHttpsAttribute());
  #endif    
}

И на моем iis express не был включен https. Работает правильно на DEBUG