IISExpress çalıştıran localhost'a bağlanmaya çalışırken ERR_CONNECTION_REFUSED sorunu nasıl çözülür - Hata 502 (Visual Studio'dan hata ayıklanamıyor)?


102

Bu, Windows Server 2008 üzerinde çalışıyor ve birkaç ay önce çalışıyordu. Şimdi bu sunucuyu VS ile bazı geliştirme çalışmaları için tekrar kullanıyorum.

Bu, birkaç test sitesine hizmet vermek için kullanılan canlı web sunucusudur.

Bu, Visual Studio çalıştırırken ve ardından hata ayıklama için projelerimi başlatırken ortaya çıktı.

localhost:xxxxIISExpress başlatıldığında herhangi bir siteyi başlatmaya çalışmak (farklı sitelere erişmek için yapılandırmadaki gerçek bağlantı noktası numaralarını kullanarak):

This webpage is not available

ERR_CONNECTION_REFUSED

Başkalarının da benzer sorunları olduğunu okuduğumdan, okuduğum çoğu şeyi denedim managedruntimeversionve .net 4.5 için "v4.0" dan "v4.0.30319" a (hiç bunu daha önce yapmak zorunda kaldı) ve günlük kaydı modülünü devre dışı bırakarak (tüm öneriler burada bulundu ).

Dosyamda hostsdahili sunucu IP adreslerine işaret eden yalnızca iki girdi var . Hiçbir localhostIP'leri veya referanslar ilgili.

IIS Express'i ve Visual Studio 2013'ü yeniden kurmaya kadar gittim. Ayrıca WebApplicationbunu çözmeye çalışmak için yepyeni bir site oluşturdum (basit ve başka karmaşık bağlama yok).

Fiddler'ı döndürdüğümde sayfada şunu görüyorum:

[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 yakalama

Tüm proxy ayarlarını IE'nin LAN bağlantı bölümünden kaldırdım, daha önce VS'de IISExpress gibi bir şeyin başlatılamadığını belirten bir kırmızı-x açılır penceresi geliyordu .

Bu, SSL ile olmayan SSL meselesi değildir.

TFS Sunucusu yükledim - müdahale eden bazı garip bağlar olması durumunda bunu kaldırdım.

IISExpress config / settings klasörünü birkaç kez silmeyi denedim.

Mevcut applicationhost.config şunları içerir:

<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" />

Keşke etiketi olsaydı really-stuck.

Lütfen yeni bir sunucu kurmak kadar ileri gitmek istemediğim için öneride bulunun.

-- GÜNCELLEME --

URL çubuğuna bilgisayar adını veya IP adresini girdiğimde: xxxx ERR_CONNECTION_TIMED_OUTyerine ERR_CONNECTION_REFUSED.

Yanıtlar:


102

Projenizdeki port numarasını değiştirmeyi deneyin.

Proje Özellikleri → Web → Sunucular → Proje URL'si:

görüntü açıklamasını buraya girin

Create Virtual DirectoryBağlantı noktası numaranızı değiştirdikten sonra sanal dizin oluşturma istemine tıklamayı veya "Evet" yanıtını vermeyi unutmayın ! (Teşekkürler Connor )

Not: Sorunun ne olduğu veya neye neden olduğu hakkında hiçbir fikrim olmadığından, bunu bir cevap olarak göndermek konusunda biraz isteksizim, ancak benzer bir sorun yaşadım ve bağlantı noktası numarasını değiştirmek benim için hile yaptı. Bunu sadece yorumlarda başka biri için de işe yaradığına dair öneriye göre gönderiyorum.

Benim durumumda, kullandığım belirli bağlantı noktası numarasıyla çelişen bir şey görünüyordu, bu yüzden farklı bir bağlantı noktasıyla değiştirdim ve sitem hemen açıldı! Bunun eski bağlantı noktası numarası için ne anlama geldiğinden veya bir daha kullanabileceğimden emin değilim. Belki benden daha bilgili biri buna katılabilir.


39

Tüm cevaplar için teşekkürler. Hepsini denedim ama hiçbiri benim için işe yaramadı. Yaptığımız şey, applicationhost.config dosyasını .vs klasöründen (projenizin / çözümünüzün klasöründe bulunan) silmek ve yeni bir sanal dizin oluşturmaktı (Proje Özellikleri> Web> Sanal Dizin Oluştur). Umarım bu başkasına yardımcı olur.


35

Bu sorun, yakın geçmişte uygulama yapılandırmanızda IP adresi bağlama kullanmış olmanızdan kaynaklanıyor olabilir.

Sorunu Çözme Adımları:

  • Yönetici erişim komut terminalinde aşağıdaki komutu çalıştırın

netsh http iplisten göster

Aşağıdaki gibi bir şey görürseniz, bu çözüm size yardımcı olmayabilir.

IP dinleme listesinde bulunan IP adresleri:

0.0.0.0

0.0.0.0'dan farklı bir şey görürseniz, bunu düzeltmek için aşağıdaki adımları deneyin.

  • Yükseltilmiş komut terminali ile sırayla aşağıdaki kabuk komutunu çalıştırın

netsh http iplisten ipaddress = 11.22.33.44 sil

netsh http iplisten ipadresi ekle = 0.0.0.0

iisreset

  • (Burada 11.22.33.44, kaldırılması gereken gerçek IP'dir)

Ve şimdi issexpress'iniz localhost bağlamasına gelen herhangi bir pingi dinleyecek şekilde ayarlandı.


21

Bunu makinem için düzelttim. Belki bazıları için işe yarar. Belki başkaları için değil, ama işte benim için işe yarayan şey.

IIS'de, varsayılan web sitesine (veya uygulamayı çalıştırdığınız web sitesine) https için bağlamalar eklemem gerekiyordu.

görüntü açıklamasını buraya girin

Artık yerel ana bilgisayarım, Visual Studio'dan hata ayıklarken çalışıyor.


7

Ben de aynı sorunu yaşadım. Şu adımları denedim:

  1. Visual Studio 2017'yi kapattı
  2. [SolutionPath] .vs \ config \ applicationhost.config kaldırıldı
  3. Çözümü yeniden açtı ve [Sanal Dizin Oluştur] 'u tıkladı
  4. Çalıştırmaya çalıştı => ERR_CONNECTION_REFUSED
  5. BAŞARISIZ OLDU

Baska deneme:

  1. Visual Studio 2017'yi kapattı
  2. [SolutionPath] .vs \ config \ applicationhost.config kaldırıldı
  3. . \ Documents \ IISExpress \ config \ applicationhost.config kaldırıldı
  4. Çözümü yeniden açtı ve [Sanal Dizin Oluştur] 'u tıkladı
  5. Çalıştırmaya çalıştı => ERR_CONNECTION_REFUSED
  6. BAŞARISIZ OLDU

Baska deneme:

  1. Visual Studio 2017'yi kapattı
  2. [SolutionPath] .vs \ config \ applicationhost.config kaldırıldı
  3. . \ Documents \ IISExpress \ config \ applicationhost.config kaldırıldı
  4. 127.0.0.1 localhost, C: \ Windows \ System32 \ drivers \ etc \ hosts konumuna eklendi
  5. Çözümü yeniden açtı ve [Sanal Dizin Oluştur] 'u tıkladı
  6. Çalıştırmaya çalıştı => ERR_CONNECTION_REFUSED
  7. BAŞARISIZ OLDU

NE ÇALIŞTI:

  1. Visual Studio 2017'yi kapatın
  2. [SolutionPath] .vs \ config \ applicationhost.config dosyasını kaldırın
  3. "Bilgisayar sertifikalarını yönet" i başlatın ve Kişisel-> Sertifikalar'da "localhost" sertifikasını bulun görüntü açıklamasını buraya girin
  4. Bu sertifikayı kaldırın (bunu kendi sorumluluğunuzda yapın)
  5. Denetim Masası'nı Başlat \ Tüm Denetim Masası Öğeleri \ Programlar ve Özellikler
  6. "IIS 10.0 Express" (veya kendi IIS Express sürümünüzü) bulun
  7. "Onar" ı tıklayın görüntü açıklamasını buraya girin
  8. Çözümü yeniden açın ve [Sanal Dizin Oluştur] 'a tıklayın
  9. Web projesini başlatın.
  10. Bu soruyu alacak: görüntü açıklamasını buraya girin. "Evet" i tıklayın
  11. Bu Soru alacak: görüntü açıklamasını buraya girin. "Evet" i tıklayın
  12. Şimdi çalışıyor.

6

Sam'in çözümü benim için çalıştı, ancak kalıcı bir çözüm olarak yönetici olarak çalışmak istemedim.

Benim durumumda bunu böyle çözdüm:

  1. CMD'yi yönetici olarak çalıştır
  2. "Netsh http urlacl göster" yazın ve ilgili bağlantı noktasıyla ayrılmış URL'yi bulun
  3. "Netsh http delete urlacl url = YourReservedUrlHere" yazın

Bundan sonra uygulamamı yönetici haklarına ihtiyaç duymadan çalıştırabildim. Ancak uygulamama harici bir bilgisayardan göz atma yeteneği ile uğraştı. Şimdilik benim için yeterince yakın.


5

Benim durumumda bunun nedeni IIS'nin yönetici hakları olmadan başlatılmasıydı. IIS'yi yönetici olarak başlattığımda ve siteyi başlattığımda iyi çalıştı


3

Benim durumumda, sonsuz döngü / yığın taşması neden oldu.


1

Bu sorunu Visual Studio'yu başlatarak çözdüm Run as administrator. Bu, projenizi yerel IIS'de yayınlamak istiyorsanız da gereklidir.

Bunu kalıcı olarak ayarlamak için: -

  1. Visual Studio simgesine sağ tıklayın
  2. Seçiniz Properties
  3. Tıklayın Advanced
  4. Run as administratorKontrol edildiğinden emin olun
  5. OKTüm çıkış yolunu tıklayın .
  6. Visual Studio'yu başlatın, projenizi yükleyin ve hata ayıklamaya başlayın

1

Benim durumumda, iş arkadaşım çözümün adını değiştirdi, böylece projenin son sürümünü aldıktan sonra web uygulamamı IIS EXPRESS ile çalıştırıyorum, ardından mesajı ERR_CONNECTION_REFUSEDgoogle chrome'da aldım .

İnternette bulduğum tüm çözümü denedikten sonra nihayet sorunu şu adımlarla çözdüm:

  1. VS'yi kapat
  2. .vsProje klasöründeki klasörü silingörüntü açıklamasını buraya girin

  3. Yönetici Olarak Çalıştır VS

  4. Hata Ayıklama> [Uygulamanız] Özellikleri> Web'i açın

  5. Bağlantı noktasını Proje URL'sinde değiştirin ve kullanmayı unutmayın https çünkü benim durumumda, kullandığım httpzaman hala çalışmadı.

  6. Tıklayın Create virtual directory

  7. IIS EXPRESS kullanarak uygulamayı yeniden çalıştırın.

  8. Ve web uygulaması başarıyla çalıştı.

Umarım bunlar yardımcı olur.


1

SSL'yi etkinleştirdikten ve tarayıcınızdaki adresi kullandıktan sonra Proje Özellikleri -> Hata Ayıkla'ya giderek çözdüm

görüntü açıklamasını buraya girin


0

Yeniden Oluştur Tümü benim için çalıştı. VS2013, IIS Express.


0

Ayrıca bir başlangıç ​​sayfanızın belirtildiğinden emin olun. Başlangıç ​​sayfanız olarak kullanmak istediğiniz .aspx sayfasını sağ tıklayın ve "Başlangıç ​​sayfası olarak ayarla" yı seçin


0

Basit bir çözüm (benim için çalıştı) localhost yerine IP adresini kullanmaktır. Bu, geliştirme görevleriniz için iyi olmalı.


0

Chrome'da birçok yöntem denedim ancak benim için işe yarayan tek şey "Tarama verilerini temizle" oldu

Standart çalışmadığı için "gelişmiş" sürümü yapmak zorundaydı. Bunu yapanın "İçerik Ayarları" olduğundan şüpheleniyorum .


0

Son zamanlarda kaynak kodunu başka bir makineden kopyaladığımda bu sorunla karşılaşıyorum.

-> .vs klasörünü silin (gizli klasördür, bu nedenle gizli klasörü görüntüleme seçeneğini etkinleştirdiğinizden emin olun)
-> görsel stüdyoyu açın ve projenizi oluşturun. Visual studio, mevcut sistem yapılandırmasına göre yeni .vs klasörü oluşturacak


0

Muhtemelen sorununuzla ilgili olmasa da, bugün aynı sorunu yaşadım. Görünüşe göre, sitemi HTTP yerine HTTPS kullanmaya zorlamak için bir URL Yeniden Yazma modülünü etkinleştirmiştim ve üretim ortamımda bu gayet iyi çalıştı. Ancak, varsayılan sitemde bir uygulama olarak çalıştığı geliştirme sistemimde başarısız oldu ...
Görünüşe göre, varsayılan sitemin HTTPS için bir bağlantısı yoktu, bu nedenle yeniden yazma modülü beni HTTP'den HTTPS'ye gönderiyordu, ancak hiçbir şey HTTPS bağlantı noktasını dinleme ...
Bu sorunu benzer bir nedenle yaşama ihtimaliniz var. Bu hata, erişmeye çalıştığınız site için uygun bir bağlama yoksa ortaya çıkıyor gibi görünüyor ...


0

Bu, bu konuyla ilgili belirli bir insan alt kümesiyle ilgili olabilir ... belki farklı bir tada sahip olabilir.

RELEASE'te bir https yönlendirmesini zorluyordum.

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

Ve iis express'imde https etkin değildi. DEBUG üzerinde düzgün çalışıyor


0

IP'yi IIS ile bağlamaya çalışıyordum, ancak IIS yapılandırma dosyalarıyla uğraştım, bunun için tam anlamıyla 20'den fazla çözüm denedim

  1. bir proje çözümünün .vs dosyasını silme
  2. IIS klasörü yapılandırma dosyası silme
  3. IIS klasörü silme
  4. VS2019 Güncellemesi
  5. VS2019 onarımı
  6. Sayısız kez makine ve VS yeniden başlatma
  7. CMS'de çeşitli komutlar
  8. çeşitli yazılım güncellemeleri
  9. Çeşitli bağlantı noktaları değişir

ama ne birisi için çalışabilir hangi çalıştı başka yanı oldu REPAIRdan IIS

Control Panel\Programs\Programs and Features

Aksi takdirde bu yanıta da başvurabilirsiniz

IIS10 Onarımı


0

Komut Dosyası Hata Ayıklamanın devre dışı bırakıldığından emin olun

görüntü açıklamasını buraya girin

Yukarıdaki önerilerin birçoğunu denememe rağmen bunu aralıklı olarak alıyordum. Bunu devre dışı bırakır bırakmaz, sitemdeki hata ayıklamam bir rüya gibi çalıştı. (Sadece kazayla ya da belki önceki bir yaşamda açtığımı düşünün).


0

"Gerçek" IIS kullanıyorsanız, W3SVC (World Wide Web Publishing) hizmeti durdurulursa bu gerçekleşebilir.

Açık görünmelidir, ancak hizmeti yanlışlıkla durdurursanız veya manuel olarak ayarladıysanız, bu başınıza gelebilir.

Başlığın IIS express'i söylediğini biliyorum, ancak google -Express ipucu kullanırken bile express'i filtrelemiyor gibi görünüyor, bu yüzden umarım bu, IIS'ye özgü bir sayfa yerine bu sayfayı bulan başka birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.