Як вирішити ERR_CONNECTION_REFUSED при спробі підключитися до локального хосту під управлінням IISExpress - Помилка 502 (Не вдається налагодити з Visual Studio)?


98

Це працює на 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] 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

Захоплення скрипаля

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

Це не питання SSL проти не SSL.

У мене був встановлений сервер TFS - видалений, щоб на випадок виникнення якихось дивних прив’язок, які заважали.

Я кілька разів намагався видалити конфігурацію / налаштування IISExpress.

Поточний applicationhost.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.


Відповіді:


100

Спробуйте змінити номер порту у своєму проекті?

Властивості проекту → Веб → Сервери → URL-адреса проекту:

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

Не забудьте натиснути Create Virtual Directoryабо відповісти "Так" на запит про створення віртуального каталогу після зміни номера порту! (Дякую Коннору )

Примітка: Я трохи неохоче публікую це як відповідь, оскільки я не уявляю, в чому проблема або що спричинило це, але у мене була подібна проблема, і зміна номера порту зробила для мене фокус. Я публікую це лише згідно з пропозицією в коментарях, що це спрацювало і для когось іншого.

У моєму випадку здавалося, що щось суперечить конкретному номеру порту, який я використовував, тому я змінив інший, і мій сайт з’явився прямо назад! Я не впевнений, що це означає для старого номера порту, і чи зможу я коли-небудь використовувати його знову. Можливо, хтось більш обізнаний, ніж я, може натякнутися на це.


1
це спрацювало для мене - замість того, щоб змінювати налаштування браузера, як зазначено у цій відповіді stackoverflow.com/questions/7227845/…
Дон Чідл,

це працювало для мене. після зміни номера порту мені запропонували змінити мій віртуальний каталог, який якось змінився неправильно.
GraehamF

Це спрацювало і на мене. Не уявляю, як це сталося. Я зупинив IIS Express і під час наступного запуску нічого, крім помилки.
Джозеф Ферріс,

1
Після зміни номера порту обов’язково натисніть «Створити віртуальний каталог»!
Коннор Вільямс,

Щойно зі мною це сталося сьогодні ще раз! : / Хоча я радий, що моя пропозиція допомагає людям, я б дуже хотів зрозуміти, що йде не так. Повільно переглядаючи тут зручні номери портів: P
sǝɯɐſ

36

Дякую за всі відповіді. Я спробував усі, але жоден з них не працював у мене. Що вдалося, це видалити applicationhost.config з папки .vs (знайденої в папці вашого проекту / рішення) та створити новий віртуальний каталог (Властивості проекту> Веб> Створити віртуальний каталог). Сподіваюся, це допоможе комусь іншому.


3
Я зіткнувся з тією ж проблемою, коли відкрив рішення VS2015 у VS2013 і деякий час працював у ньому, а потім повернувся до VS2015. Видалення applicationhost.config це вирішило.
Гері. Рей

У моєму випадку applicationhost.config та перезапуск Visual Studio призвели до "помилки завантаження проекту". Тоді я навіть не міг отримати доступ до властивостей проекту.
Олексій

34

Ця проблема може бути пов’язана з тим, що ви недавно використовували прив’язку IP-адрес у конфігурації програми.

Кроки для вирішення проблеми:

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

netsh http шоу iplisten

Якщо ви бачите щось подібне нижче, це рішення може вам не допомогти.

IP-адреси, присутні в списку прослуховування IP:

0,0.0,0

Якщо ви бачите щось інше, ніж 0.0.0.0, спробуйте нижче виправити це.

  • Виконайте наступну команду оболонки в порядку за допомогою підвищеного командного терміналу

netsh http видалити iplisten ipaddress = 11.22.33.44

netsh http додати iplisten ipaddress = 0.0.0.0

iisreset

  • (Тут 11.22.33.44 - це фактичний IP, який потрібно видалити)

І зараз ваш issexpress налаштований на прослуховування будь-якого пінгу, що надходить до прив'язки localhost.


@Niraj Kumar Chauhan врятував бутон дня !! Lifesaver ... Не впевнений, як видалено 0.0.0.0, але додавши його назад, вирішило проблему.
Сітлз,

Після семи годин пошуку, чому сервер звітів Power BI не слухав належним чином: 2 секунди цього виправили. Дякую! У нашій існуючій конфігурації було '::' замість 0.0.0.0; Це не те саме і / або як це можна було змінити?
MattV

Гей, це спрацювало! На моєму комп'ютері перша команда показала нульові IP-адреси, тому я просто запустив команду "add" та "iisreset". Після цього мені все ще потрібно було передислокувати свій проект та перезапустити IIS вдруге, але тоді це спрацювало.
Метью Олден,

20

Я щойно виправив це для своєї машини. Можливо, це вдасться для когось. Можливо, не для інших, але ось що мені вдалося.

У IIS мені довелося додати прив’язки для https до веб-сайту за замовчуванням (або, я припускаю, веб-сайту, на якому ви запускаєте програму).

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

Тепер мій localhost працює під час налагодження з Visual Studio.


Зазначимо, перевірте, чи це проблема, це просто зміна https на http у вашій URL-адресі, оскільки прив’язка http вже має бути на місці.
DubDub

Це зафіксувало це для мене. Я підозрюю, що коли я сказав Visual Studio створити другу програму на моєму сервері dev IIS, щось, мабуть, видалило прив’язки моєї першої програми.
Метью Алден

7

У мене була така ж проблема. Я спробував такі кроки:

  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" у меню Особисті-> Сертифікати введіть тут опис зображення
  4. Видаліть цей сертифікат (робіть це на власний ризик)
  5. Запустіть Панель керування \ Усі елементи панелі керування \ Програми та функції
  6. Знайдіть "IIS 10.0 Express" (або власну версію IIS Express)
  7. Клацніть на "Відновити" введіть тут опис зображення
  8. Відкрийте рішення знову і натисніть [Створити віртуальний каталог]
  9. Запустіть веб-проект.
  10. Ви отримаєте це питання: введіть тут опис зображення. Натисніть "Так"
  11. Ви отримаєте це питання: введіть тут опис зображення. Натисніть "Так"
  12. Зараз це працює.

6

Рішення Сема працювало для мене, але я не хотів працювати як адміністратор як постійне рішення.

Ось як я це вирішив у своєму випадку:

  1. Запустіть CMD від імені адміністратора
  2. Введіть "netsh http show urlacl" і знайдіть зарезервовану URL-адресу з відповідним портом
  3. Введіть "netsh http delete urlacl url = YourReservedUrlHere"

Після цього я міг запускати свій додаток без необхідності прав адміністратора. Але це заплутало можливість перегляду мого додатка із зовнішнього комп’ютера. Поки що мені досить близько.


Дякую, вирішив мою проблему. Видаливши зарезервовану URL-адресу, відновіть проект, і тоді він буде чудово працювати без режиму адміністратора.
Парвен

5

У моєму випадку це було викликано запуском IIS без адміністративних прав. Коли я запустив IIS як адміністратор і запустив сайт, він працював нормально


Це була відповідь для мене, хоча я не пам’ятаю, як запускав VS як адміністратор вперше, коли відкривав проект, коли він працював.
Стаффорд Вільямс

о так, дух (ляпас по лобі)
підприємець

3

У моєму випадку це було викликано нескінченним переповненням циклу / стека.


1

Я вирішив цю проблему, запустивши Visual Studio з Run as administrator. Це також потрібно, якщо ви хочете опублікувати свій проект у локальній службі IIS.

Щоб встановити це назавжди: -

  1. Клацніть правою кнопкою миші на піктограмі Visual Studio
  2. Виберіть Properties
  3. Клацніть Advanced
  4. Переконайтеся Run as administrator, що зареєстрований
  5. Клацніть на OKвесь вихід.
  6. Запустіть Visual Studio, завантажте свій проект і починайте налагодження

1

У моєму випадку мій колега змінив назву рішення, так що після отримання останньої версії проекту я запустив свою веб-програму за допомогою IIS EXPRESS, а потім отримав повідомлення ERR_CONNECTION_REFUSEDу своєму google chrome.

Після того, як я спробував усі рішення, які я знайшов в Інтернеті, нарешті я вирішив проблему за допомогою таких кроків:

  1. Закрийте VS
  2. Видаліть .vsпапку в папці проектувведіть тут опис зображення

  3. Запуск від імені адміністратора

  4. Відкрийте Налагодження> Властивості [Вашого додатка]> Веб

  5. Змініть порт у URL-адресі проекту та не забудьте використовувати, https оскільки в моєму випадку, коли я використовую, httpце все одно не спрацювало.

  6. Клацніть Create virtual directory

  7. Знову запустіть програму за допомогою IIS EXPRESS.

  8. І веб-програма працювала успішно.

Сподіваюся, це допоможе.


1

Я вирішив, перейшовши до Властивості проекту -> Налагодження, після того, як увімкнув SSL і використовую адресу у вашому браузері

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



0

Переконайтеся, що у вас також вказана початкова сторінка. Клацніть правою кнопкою миші на сторінці .aspx, яку ви хочете використовувати як початкову, і виберіть "Встановити як стартову сторінку"


0

Простою роботою (мені це вдалося) є використання IP-адреси замість localhost. Це має відповідати вашим завданням розробки.


0

Я спробував багато методів у Chrome, але єдине, що мені вдалося, це "Очистити дані перегляду"

Довелося робити «просунуту» версію, оскільки стандарт не працював. Я підозрюю, що це робили "Налаштування вмісту" .


0

Нещодавно я стикаюся з цією проблемою, коли копіюю вихідний код з іншої машини.

-> Видаліть папку .vs (це прихована папка, тому переконайтеся, що у вас є параметр перегляду прихованої папки)
-> відкрийте візуальну студію та створіть свій проект. Visual studio створить нову папку .vs відповідно до поточної конфігурації системи


0

Хоча, мабуть, це не пов’язано з вашою проблемою, сьогодні у мене була та сама проблема. Як виявляється, я увімкнув модуль перезапису URL-адрес, щоб змусити мій сайт використовувати HTTPS замість HTTP, і в моєму виробничому середовищі це спрацювало чудово. Але в моїй системі розробки, де вона працює як додаток на моєму сайті за замовчуванням, це не вдалося ...
Як виявляється, мій сайт за замовчуванням не мав прив'язки до HTTPS, тому модуль перезапису відправляв би мене з HTTP на HTTPS, але нічого не було прослуховування порту HTTPS ...
Є ймовірність, що ця проблема виникла з подібної причини. Здається, ця помилка виникає, якщо для веб-сайту, до якого ви намагаєтесь отримати доступ, немає належної прив’язки ...


0

Це може бути доречним для певної групи людей з цією проблемою ... можливо, з іншим смаком.

Я змушував перенаправляти https на RELEASE.

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

І на моєму iis express не було ввімкнено https. Правильно працює над DEBUG


0

Я просто намагався прив'язати IP до IIS, але в кінцевому підсумку возився з конфігураційними файлами IIS, я буквально спробував 20+ рішень для цього, що включає

  1. .vs видалення файлу проектного рішення
  2. Видалення файлу конфігурації папки IIS
  3. Видалення папки IIS
  4. Оновлення VS2019
  5. Ремонт VS2019
  6. Незліченна кількість разів перезапуск машини та VS
  7. різні команди на CMS
  8. різні оновлення програмного забезпечення
  9. Змінюються різні порти

але те, що спрацювало, що може працювати і для когось іншого, було для REPAIRIIS від

Control Panel\Programs\Programs and Features

Інакше ви можете звернутися до цієї відповіді , а також

Ремонт IIS10


0

Переконайтеся, що налагодження сценарію вимкнено

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

Я отримував це з перервами, незважаючи на те, що спробував кілька вищезазначених пропозицій. Як тільки я це вимкнув, моє налагодження мого сайту запрацювало як мрія. (Думаю, я увімкнув його лише випадково, або, можливо, у попередньому житті).


0

Якщо ви використовуєте "справжній" IIS, це може статися, якщо службу W3SVC (публікація в Інтернеті) зупинено.

Це повинно здатися очевидним, але якщо ви випадково зупинили послугу або встановили її в ручному режимі, це може трапитися з вами.

Я знаю, що в заголовку написано IIS express, однак Google, здається, не фільтрує експрес, навіть коли використовується підказка -Express, тому, сподіваюся, це допомагає комусь іншому, хто знайшов цю сторінку замість специфічної для IIS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.