Geçersiz uygulama yolu


92

IIS7 Windows 7 64bit

Ne yaparsam yapayım bir web sitesine uygulama ekleyemiyorum.

'Ayarları test et' yaptığımda "Geçersiz uygulama yolu" mesajı alıyorum.

Neyi yanlış yapabileceğime dair bir tahmini olan var mı?

ekran görüntüsü


Bize biraz daha ayrıntı gösterin. Bir ekran görüntüsü ekleyin !!!

5
Aynı sorunu yaşıyorum: IIS'yi açın, mevcut bir web uygulamasını seçin, "Temel Ayarlar" a gidin, "Ayarları Test Et" düğmesine tıklayın, hatayı görün. Hata mesajının ekran görüntüsünün daha fazla yardımcı olacağını sanmıyorum. Yine de, bu soruyu göndermek için en iyi yer burası olmayabilir. Deneyin serverfault.com
bzarah

lütfen bu soru ve cevaba bir göz atın, sorununuza yardımcı olacağına inanıyorum: stackoverflow.com/questions/2665578/…
Tamir

2
Muhtemelen doğru cevap - stackoverflow.com/a/8826772/1193727
resnyanskiy

Yanıtlar:


49

Bu hatayı aldığımda bir güvenlik ayarından kaynaklanıyor gibi görünüyordu. "Farklı Bağlan" özelliğini bir yöneticiye değiştirdiğimde artık mesajı almadım.

Açıkçası, bu bir üretim ortamı için iyi bir çözüm değildir - muhtemelen IIS'nin varsayılan olarak kullanacağı kullanıcı için gerekli olan en az ayrıcalığı vermelidir. Daha fazla öğrenirsem bu yanıtı güncelleyeceğim.


4
Hata mesajının kendisi bir hata olabilir (cevabıma bakın) - "Farklı Bağlan" gerekli olmayabilir
Aaron Hoffman

2
Mesajın sadece bir hata olduğu ortaya çıktı. Bir yönetici hesabıyla çalışır çünkü bu hesap tüm web dizinleri için tüm izinlere sahiptir. Ağ kullanıcınızı Yöneticiye eklerseniz,
Farklı


10

Sonunda bunu Anonim Kimlik Doğrulama Kimlik Bilgileri'ne kadar izledim. Neyin değiştiğini bilmiyorum, çünkü bu uygulama eskiden çalışıyordu, ama yine de bunu yaptım: Uygulama -> Kimlik Doğrulama'ya tıklayın. Anonim Kimlik Doğrulamanın etkinleştirildiğinden emin olun (benim durumumda öyleydi), ancak aynı zamanda Düzenle ... seçeneğini tıklayın ve anonim kullanıcı kimliğini "Belirli kullanıcı" yerine "Uygulama havuzu kimliği" olarak değiştirin. Bu değişikliği yapmak benim için çalıştı.

Saygılarımızla.


1
Bu benim için işe yaramadı - ancak Anonim erişimi kapatmak ve yalnızca Windows kimlik doğrulamasına izin vermek hile yaptı. Sonra Windows kimlik doğrulamasını kapatmak ve Anonim'i açmak da işe yaradı. Çok tuhaf.
Sean Doyle

9

IIS'de HTTP bağlamalarınıza gidin (web sitenizi seçin, ardından Bağlamalar'a sağ tıklayın ...). SSL'nizi ve HTTP bağlamanızı silin. Yeniden ekleyin.

Bu genellikle bunu benim için düzeltir.


1
Bu sorunu hemen çözdü. (Belirgin olmayan bir düzeltme ile başka tipik, saçma bir şekilde yararsız hata mesajı.)
Ryan Russon

5

Deneyin: İnternet Bilgi Hizmetleri (IIS) Yöneticisi -> Varsayılan Web Sitesi -> Hata Sayfaları özelliklerini tıklayın ve Ayrıntı hatalarını seçin


1
Ayrıntılı hata beni doğru yöne götürdü. WCF - Hata 500.21 İşleyicisinin "svc-Integrated" modül listesinde "ManagedPipelineHandler" bozuk bir modülü var " Çözüldü aspnet_regiis -iru // From x64 .net framework directory
Dava 303

WCF hatasıyla karşılaşmadım ancak aspnet_regiis komutu benim için de sorunu çözdü. IIS'de de yeni bir uygulama havuzları ve uygulamaları kurulumuyla başladım.
MichaelHuelsen


3

Ben de bu hatayı alıyordum, bunun Varsayılan Uygulama Havuzunu " DefaultAppPool " silmiş olmamdan kaynaklandığını öğrendim . Yeniden oluşturmak sorunu çözdü. Beni birkaç gün çıldırttı.

Bu hata, web uygulaması var olmayan bir uygulama havuzuyla eşleştirilirse görünür; veya bu uygulama havuzu durdurulursa.


1
Aynı şekilde bu, atanan uygulama havuzu durdurulursa da olabilir.
Richard

Richard eğer bu bir cevapsa, bu soruya yorum yapmak yerine onu ayrı bir cevap haline getirin.
Rocklan

3

Ben de bu hatayı aldım.

IIS Web Sitemin Varsayılan Web Sitesi Var onun altında üç (3) uygulama dizinleri ile.

3 uygulama dizinimin her birini, Uygulama Havuzlarında .NET Framework v2.0'ı kullanmak için doğru şekilde yapılandırdım.

Uygulama Havuzunu Düzenle

Ancak, Varsayılan Web Sitesi hiçbir zaman yapılandırılmadı. Tüm uygulamalarım içinde bulunduğu için gerekli olduğunu düşünmedim.

IIS Sunucumun varsayılan yapılandırması .NET Framework v4.0'dır, bu yüzden bunu .NET v2.0 olarak değiştirdim:

Varsayılan Uygulama Havuzunu Düzenle

Bunu yaptıktan sonra artık aynı hata mesajını almadım.

Şimdi şunu görüyorum:

Sonuç

Umarım bu bilgiler başkalarına yardımcı olur.


1

Ben de bu hatayı alıyordum. Benim için sorun, makinede iki ayrı web sitem olması ve hangi adresin hangi web sitesine gittiğini belirlememiş olmamdı. Bu sorunu çözmek için IIS Yöneticisi'ne gidin -> Web Sitesi Seçin -> Bağlantılar -> Ekle ... -> Bu web sitesi için çözmek istediğiniz ana bilgisayar adını girin. Makinedeki diğer web siteleri için tekrarlayın.

HTH. Rick


1

Bugün benzer bir sorun yaşadım. Skype neden oldu! Skype'ta yapılan son güncelleme, gelen bağlantılara alternatif olarak 80 ve 443 numaralı bağlantı noktalarını yeniden etkinleştirdi.

H / T: http://www.codeproject.com/Questions/549157/unableplustoplusstartplusdebuggingplusonplustheplu

Devre dışı bırakmak için skype> seçenekler> Gelişmiş> Bağlantılar'a gidin ve "Gelen bağlantılara alternatif olarak 80 ve 443 numaralı bağlantı noktalarını kullan" seçeneğinin işaretini kaldırın.


0

Hala bir çözüm bulamadım, ancak bir çözüm buldum.

System32 \ intsrv \ config \ applicationHost.config konumunda IIS yapılandırmasını manuel olarak değiştirebilirsiniz. Sadece el ile (kopyala-yapıştır) bölüm oluşturmak <sites>ve <location>.


0

Bu benim için çalıştı. (btw tavsiye edilmez.)

Test uygulamam için yeni bir uygulama havuzu oluşturdum ve kimliğini "NetworkService" olarak değiştirdim .

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

Uygulama Havuzu Kimlikleri hakkında daha fazla bilgiyi burada
http://www.iis.net/learn/manage/configuring-security/application-pool-identities ve
http://www.iis.net/learn/get-started/planning-for- güvenlik / anlama yerleşik kullanıcı ve grup hesapları içinde-iis

"NetworkService" uygulamasının uygulamanızın fiziksel yolu üzerinde haklara sahip olduğundan emin olmalısınız.


0

Hatta yukarıdaki hatayı alıyordu. IIS'nin sunucuda kayıtlı olmadığını öğrendim.

iis'i kaydetmek sorunu çözdü.

Teşekkürler,


0

Benim durumumda sanal dir. Ana dizindeki ana WCF Hizmetine eriştiğimde iyi çalışıyordu ancak sanal dizindeki WCF hizmetine erişmek bir hata veriyordu. Hem ana hem de sanal dizin için web.config'de aşağıdaki kod vardı.

    <security>
        <requestFiltering>
            <denyQueryStringSequences>
                <add sequence=".." />
            </denyQueryStringSequences>
        </requestFiltering>
    </security>

sanal dizindeki web.config'den kaldırarak sorunu düzeltti.


0

Aşağıdaki dosyayı değiştirerek kusuru düzeltebildim:

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

İçinde:

<application path="/" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>

İçin:

<application path="/">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
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.