500 - Internal server error hatasının çözümü nedir?

alattin (17125) 7 yıl önce sordu

IIS üzerinde çalışan Asp.Net 500 - Internal server error hatası nasıl çözülür?

Server Error

500 - Internal server error.

There is a problem with the resource you are looking for, and it cannot be displayed. hatasının çözümü için hangi aşamaları izlemek gerekir?

Toplam 1 cevap


alattin (17125) 7 yıl önce cevapladı

500 - Internal server error hatasının çözümü nedir?

Aşağıdaki çözüm yazılım geliştiriciler için yapılması gerekenleri anlatmaktadır. Normal bir kullanıcıysanız ve bir web sitesinde karşınıza  500 - Internal server error hatası geliyorsa bu durumda hata sunucu taraflıdır, yani sizin hatayı çözmeniz mümkün değildir. Hatayı web sitesinin sahibinin düzeltmesi gerekir.

500 - Internal server error hatası nasıl çözülür?

IIS üzerinde çalışan web sitelerinde 500 - Internal server error hatası sıkça karşılaşılan bir hata mesajıdır.

Aslında 500 - Internal server error hatası kapalı bir hata mesajıdır. Yani hatanın nerede olduğu güvenlik açısından gizlenmiş durumdadır.  Bu olası web.config hatalarında kullanıcılar tarafından görülmemesi gereken satırların ekrana basılmasını, yine kod içerisinde gizli kalması gereken satırların hata yüzünden tüm kullanıcılara servis edilmesinin önüne geçer.

 500 - Internal server error hatasının çözümü için ilk önce web.config dosyası üzerinden hata detayını ekrana yazdırmak gerekir.

Hata detayını ekrana yazdırmak için web.config dosyanızı şu şekilde düzenleyin:

IIS 6 kullanıyorsanız;
 

<configuration>
    <system.web>
        <customErrors mode="Off"/>       
    </system.web>
</configuration>

IIS 7, IIS 7.5, IIS 8.5 kullanıyorsanız;

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />        
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>        
    </system.web>
</configuration>

olarak web.config dosyanızı düzenleyin. Bu işlemden sonra ekrana gelecek hata mesajı şu şekilde değişecektir:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:
Module	   DefaultDocumentModule
Notification	   ExecuteRequestHandler
Handler	   StaticFile
Error Code	   0x800700b7
Config Error	   Cannot add duplicate collection entry of type 'add' with unique key attribute 'value' set to 'index.aspx'
Config File	   \\?\D:\vhosts\uzmanim.net\httpdocs\web.config
Requested URL	   http://www.uzmanim.net:80/
Physical Path	   D:\vhosts\uzmanim.net\httpdocs
Logon Method	   Anonymous
Logon User	   Anonymous

Config Source:
   93:       <files>
   94:         <add value="index.aspx" />
   95:       </files>

Bu hata mesajında hata web.config dosyasındaki illegal bir yapılandırmadan kaynaklanmaktadır. Config source  bölümünde hataya sebep olan satır görüntülenmektedir. Bu satırın düzenlemesi ile sorun giderilecektir.

500 - Internal server error hatası kapalı bir hata mesajıdır. Hatanın çözümü için mutlaka detaylı hesa mesajı görüntülenmeli ve bu doğrultuda işlem yapılmalıdır

Örneğin uygulamanız .Net Framework 4 gerektirirken sizin yapılandırmanız .Net Framework 2.0 ise o zaman yine karşınıza 500 - Internal server error hatası çıkar. Hata detayını açtığınız zaman karşınıza

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

Source Error: 


An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Source File: D:\vhosts\uzmanim.net\httpdocs\web.config    Line: 42 

Version Information: Microsoft .NET Framework Version:2.0.50727.8009; ASP.NET Version:2.0.50727.8015

gibi tamamen farklı bir hata mesajı çıkar.

Yukarıdaki örneklerde görüldüğü gibi 500 - Internal server error hatasını çözmek için ilk adım web.config dosyası üzerinden hata detayını açmak olmalı sonra da alınan hataya göre bir yaklaşım gerçekleştirilmelidir.