localhost відмовився підключати помилку у візуальній студії


81

Я скопіював свій файл рішення з іншої системи і спробував запустити його на своїй машині: для цього я перейшов у папку проекту і видалив попередній файл рішення та скопіював новий.

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

Згідно з ним, я змінив номер порту з 1049 на 1052. Він завантажився, і одна зі сторінок завантажується. Але коли я ввів потрібні облікові дані для входу, він знову перенаправився на старий порт, наприклад:

http://localhost:1049/Home/SearchFlight

і помилка:

 This site can’t be reached

 localhost refused to connect.
 Search Google for localhost 1049 Home Search Flight
 ERR_CONNECTION_REFUSED

Зараз я не знаю, що звідси робити. Я змінив номер порту на 1052, але все ще вказує на 1049. Що мені робити зараз?

Відповіді:


109

У мене була подібна проблема. Спробуйте це, і це повинно спрацювати

  1. Перейдіть до папки проекту та відкрийте .vsпапку (поставте прапорець біля прихованого елемента прапорець, оскільки ця папка іноді може бути прихована)

  2. У .vsпапці відкрийте configпапку

  3. Бачите applicationhost.configтам цей файл? Видаліть цю річ. (Не хвилюйтеся, він автоматично відновиться після перекомпіляції проекту.)


7
Це спрацювало для мене. Можливо, вам доведеться запустити VS в режимі адміністратора.
WillC

4
Я отримую повідомлення про помилку "Неможливо запустити веб-сервер IIS".
Baimyrza Shamyr

8
спробував це, все ще отримуючи повідомлення "Цей сайт недоступний". (Я також намагався відкрити в адміністративному режимі, не допомогло)
Натан Трегіл

1
Працював і для мене
Гегс,

6
Не працював до перезапуску VS 2017. Немає потреби в режимі адміністратора.
MusicAndCode

49

Зазвичай на локальній машині ми отримуємо помилки, як-от This site can't be reached localhost refused to connectтому, що у нас самопідписана конфігурація сертифіката порушена для локальної служби IIS Express. Іноді це трапляється, коли ви змінюєте URL-адреси в launchSettings.jsonабо взагалі не налаштовували самопідписані сертифікати на цьому комп'ютері.

Щоб зафіксувати самопідписаний сертифікат на локальній машині , потрібно: 

  1. Видалити папку .vs (потрібно закрити Visual Studio 2017)
  2. Запустіть ці команди в cmd As Administrator:

    cd "C:\Program Files (x86)\IIS Express"

    IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:12345/ -UseSelfSigned

  3. Обов’язково запустіть VS2017 As Administratorі перевірте, чи вирішено проблему

Примітка: https://localhost:12345/це те , що знаходиться у вашому launchSettings.jsonФОРHTTPS


3
це насправді допомогло. У мене була комбінована проблема: запущено скрипт, а сертифікат відсутній.
Діомос,

2
Це було переможцем для мене. Я додав сертифікат openssl для іншого додатка на інший порт на localhost, і в ньому розміщено самопідписаний сертифікат, який я використовував для iis express. Відремонтувавши самопідписаний сертифікат на конкретному порту localhost, це виправлено.
Доктор К.

1
Виправлено, велике спасибі! Я бачив багато людей, які говорили про видалення папки .vs, але це перша відповідь, яку я бачив про сертифікат ssl, який для мене був клінчером.
тагустіні

1
у моєму випадку мені довелося запустити в іншому порту, на 44343. IisExpressAdminCmd.exe setupsslUrl -url: localhost: 44343 -UseSelfSigned
Віталій Маркітанов

Моя програма працювала нормально до недавнього часу, почала отримувати повідомлення "цього сайту неможливо досягти" у браузері .... це вирішило мою проблему
useruser00

29

Зміна номера порту вирішила проблему

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


Це вирішується на мить. Мені нудно змінювати порт кожного разу, коли я запускаю проект.
jstuardo

Використання VS 2019 Preview 2. Отримали ту саму помилку та виправили її, змінивши URL-адресу проекту вище. (
бог

Мені насправді довелося видалити всю папку .vs і змінити номер порту, але принаймні врешті-решт це вдалося
Вільям

11

Просто видаліть папку (obj) Object у папці проекту, потім запустіть програму, тоді вона буде працювати нормально. Кроки:

  1. Клацніть правою кнопкою миші на папці проекту та виберіть "Відкрити папку у Провіднику файлів".
  2. Потім знайдіть папку Obj і видаліть її.
  3. Запустіть програму.

8

У мене була та сама проблема. Видалення .vsпапки (включаючи весь вміст, папка може бути прихована) у мене спрацювало.


Коли ми копіюємо весь проект на інший ПК, щоб проект також обробляв нашу власну конфігурацію .vs, тому видаліть цю приховану папку, відкрийте проект на новому ПК, він буде працювати.
Osify

8

На жаль, жодна з цих відповідей не спрацювала для мене. Ця відповідь, нарешті, стосувалася лише Chrome. На жаль, це потрібно робити кожного разу:

  1. Відкрийте це у своєму браузері: chrome: // net-internals / # hsts
  2. Перейдіть до Видалити політики безпеки домену
  3. Введіть "localhost"
  4. Перезапустіть браузер

Google Chrome перенаправляє localhost на https


Ого, я намагався вирішити цю проблему, намагаючись налагодити у VSCode останні півтори години, це нарешті це вдалося.
Nard Dog

6

Я вирішив подібну проблему, перерахувавши прив’язані IP-адреси у вікні cmd, що працює від імені адміністратора:

netsh http show iplisten

Потім, один за одним, здуваючи їх усіх:

netsh http delete iplisten ipaddress=127.0.0.200
netsh http delete iplisten ipaddress=127.0.0.2
...

Одного разу я додав резервування URL-адреси для, http://*:44300/і саме це змусило localhost не підключатися для мене. Я виконав аналогічну команду, як і ви, netsh http delete urlacl http://*:44300/і localhost підключається та налагоджує, як очікувалося зараз!
Сагайдак

5

Я запустив Visual Studio як "Запуск від імені адміністратора", і це вирішило мою проблему.


Я б поклався на пари, що це так у 90% випадків. Зверніть увагу, що коли ви встановлюєте оновлення VS і натискаєте "Запустити" в кінці інсталяції, воно НЕ працюватиме як адміністратор. Отримує мене кожного разу.
moomoo

2

Я мав цю проблему і вирішив її, закривши всі відкриті екземпляри Visual Studio.


1
Також можливо, що два екземпляри Visual Studio з різними проектами працюють на одному порту. Мені вдалося зробити порти різними.
Бен,

2

Перейдіть до панелі керування> Програми та функції> IISExpress> Відновити


Видалення папки .vs мені не допомогло. Але ремонт допоміг. Велике спасибі
Дмитреський

2

Якщо знайшли, це тому, що я возився з netsh http add командами, щоб видалити IIS Express віддалено.

Симптомами були:

  • сайт не зміг би підключитися до браузера
  • не вдалося запустити сайт (клацніть правою кнопкою миші IIS Express на панелі завдань, і його не було)
  • якби я запустив Visual Studio як адміністратор, він запускався б у IIS Express і був би видимим у браузері

Рішенням було перерахувати всі пов'язані сайти:

netsh http show urlacl

потім видаліть той, який я нещодавно додав:

netsh http delete urlacl url=http://*:54321/


Крім того, я видалив localhostіз прихованого файлу папки рішення .vs\config\application.configдля сайту:

<bindings>
    <binding protocol="http" bindingInformation="*:54321:" />
</bindings>

тому довелося повернути це назад:

<bindings>
    <binding protocol="http" bindingInformation="*:54321:localhost" />
</bindings>

Фантастична відповідь. У моєму випадку я намагався забезпечити віддалений доступ до сайту, використовуючи для цього ngrok . Це не спрацювало для мене, і я залишив його недоступним для цього конкретного порту, повністю забувши, що під час процесу я врешті використав netsh http add. Дуже дякую!
oneberenjena

1

Це трапилося зі мною у VS2017 v 15.6.7 з використанням .net core 2.0.

Коли проект вперше був запущений, він створив сертифікат SSL для localhost і почав працювати нормально. Коли я вимикав SSL, я постійно отримував цю проблему.

Очевидно, коли ви відключаєте SSL, номери портів змінюються, і не всі номери портів змінюються на новий порт. Переконайтесь, що номери портів у Налагодженні однакові. введіть тут опис зображення


1

Змініть номер порту та видаліть налагодження сценарію (якщо увімкнено) для вирішення у Windows localhost.


1

Я пробував все, але нічого не працювало, але це спрацювало. Якщо ви можете налагодити локальний IIS замість Express, змініть конфігурації, як показано на малюнку нижче. Не забудьте натиснути на "Створити віртуальний каталог"

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



1

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

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

У мене є нова вимога, яка вимагає тестування на HTTPS.

На звичайній веб-сторінці зміна http: // на https: // та виклик Redirect працювали б нормально, але в IISExpress ви використовуєте власні порти. Так, наприклад, якщо ви перебуваєте на https: // localhost: 44300, ви не можете просто перейти на http: // localhost: 44300 b / c, що порт обслуговує лише https, а не http.

Отже, якщо у вас є ця проблема, і ви очистили конфігураційні файли, і це не допомогло, перевірте свій код на переспрямування. у вас може бути щось, що використовує закодовану або частково закодовану URL-адресу або URL-адресу з конфігураційного файлу, який ви не оновили до https.

Оновлення: Я також пропоную очистити всі файли .suo та .user, а хтось інший запропонував очистити папку obj /. Я пропоную зробити це із закритою VS, а потім перезапустити. У мене було багато проблем зі значеннями для кешованих портів, коли я намагався встановити https: // та змінити порти. Я також пропоную спробувати цю пропозицію, щоб перевірити, чи порт SSL знаходиться в правильному діапазоні, хоча я не знаю, чи це все ще є вимогою https://stackoverflow.com/a/24957146


1

Тут така сама проблема, але, думаю, моя була пов’язана з інсталяцією останньої версії Visual Studio та наявністю рішення 2015 та 2019 років. Я видалив цілу папку .vs і перезапустив Visual Studio, і це спрацювало.

Я думаю, що проблема полягає в тому, що для кожної версії Visual Studio у папці .vs існує кілька конфігурацій, і, здається, це все зіпсує.



0

Щоб це працювало для мене, мені потрібно було лише відтворити віртуальний каталог. Я перевстановив Windows, а потім витягнув проект із Git. Для цього клацніть правою кнопкою миші на проекті рішення та виберіть Властивості, а потім перейдіть на вкладку Веб і натисніть Створити віртуальний каталог поруч із URL-адресою проекту.

Я сподіваюся, це теж допоможе комусь іншому!

Бутон



0

Клацніть правою кнопкою миші на Проект >> Властивості >> Виберіть веб-вкладку >> Під сервером виберіть "Використовувати сервер візуальної розробки" щоб опосередковано зняти прапорець «Локальний сервер IIS»

Сподіваюся, це може вирішити цю проблему.


0

Відкрийте cmd як адміністратор і запустіть цю команду:

netsh http delete iplisten ipaddress=xxx.xxx.x.xxx

ipaddress - це ваш приватний ip.
Це спрацювало для мене.


0

Як і у Донні В., це трапилося зі мною у VS2017 за допомогою .net core 2.0.

Коли проект був запущений вперше, VS показав діалогове вікно, пропонуючи створити сертифікат SSL для localhost - але я не хотів використовувати SSL, тому я припинив запуск і перейшов до властивостей проекту та вимкнув SSL (прапорець, який можна зняти) . Після цього я продовжував отримувати описану проблему.

Спробувавши багато речей, що насправді вирішило проблему, я відредагував файл launchSettings.json, який знаходиться у розділі [ProjectName] / Properties - до нього можна отримати доступ з Провідника рішень.

Після завершення редагування вміст виглядав так (де 12345 - це номер порту, а MyNETCoreApp - це назва проекту).

{
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "http://localhost:12345/"
        }
    },
    "profiles": {
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "launchUrl": "http://localhost:12345/",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            }
        },
        "MyNETCoreApp": {
            "commandName": "Project",
            "launchBrowser": true,
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "applicationUrl": "http://localhost:12345/"
        }
    }
}

Редагування, які я вніс:

  • Оновлено номери портів, щоб усі вони були однаковими
  • Видалено ключ: значення ssl: 0 в одному місці
  • Усі екземпляри https: // оновлено як http: //

0

Мені довелося додати прив'язки https до мого локального IIS


0

Це рішення спрацювало для мене:

  1. Перейдіть до папки проекту та відкрийте .vsпапку (поставте прапорець біля прихованого елемента галочкою, оскільки ця папка іноді може бути прихована)

  2. у .vsпапці - відкрити конфігурацію

  3. побачити applicationhostтам конфігураційний файл? Видаліть цю річ. (Не хвилюйтеся, вона автоматично відновиться після перекомпіляції проекту.)


0

У моєму випадку Visual Studio 2017> Tools > Options

У меню налагодження в бічному списку знайдіть Edit and Continue

Uncheck встановіть прапорець Увімкнути редагування та продовження

Це вирішує мою проблему.


0

Я зробив нижче послідовно, і мені це вдалося:

  1. видалити папку .vs
  2. видалити папку obj -
  3. закрити VS Studio
  4. Перезапустіть машину

0

Для мене проблема полягала в тому, що конфігурація була встановлена ​​на спеціальну AsLiveзамість Debug.

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

Встановлення цього назад відсортувало це для мене.


0

У мене була така сама проблема, перебуваючи на комп’ютері без жодних прав адміністратора.

Позбутися папки .vs (файл applicationhost.config) у папці проекту було недостатньо.

Що в мене спрацювало ... Я

  • видалена папка bin (оскільки я повторно використовував існуючий проект)
  • видалена папка Obj
  • видалена папка .vs
  • змінив порт проекту (я використовував 3000), оскільки @vinayakhegde згадав про це вище, а також створив віртуальний каталог
  • -

Наразі Localhost отримує доступ до рішення.

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


0

Іноді порти https та http можуть бути однаковими, тому що якщо два теги отримують однакові порти, IISExpressSSLPortі DevelopmentServerPort переконайтесь, що ці два порти мають різні порти, тоді IISUrlвикористовується порт за замовчуванням - HTTP або HTTPS

https://localhost:44365
  • Для використання HTTPS IISExpressSSLPort
  • Для використання HTTP DevelopmentServerPort

Тоді ви можете видалити приховану папку .vs у папці рішення

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