Merhaba,

IIS üzerinde çalışan sitenize ulaşmak istediğinizde bu hatayı alıyorsanız muhtemelen yazılımınızın ihtiyaç duyduğu modül sunucuda kurulu değil. Ağırlıklı olarak Linux sistemlerle uğraşıp, okulum gereği de Windows (c#, .net, asp.net gibi) yapılarla uğraştığım için .net ve IIS kaynaklı hatalara denk geliyorum. Benim karşılaştığım ekran aşağıdaki gibiydi:

Öncelik olarak modülün kurulumu ve .dll dosyasının oluşması için aşağıda ileteceğim linkteki programı (DotNetCore) kurmanız gerekiyor.
Bu .exe dosyasını doğrudan Microsoft’un sitesinden indirdim. Genelde link yollarını değiştirdikleri için ileride sorun yaşamamak için localde yedekledim.

DotNetCore 1.0.4-1.1.1 Windows Hosting (AspNetCore Modülü) indirmek için tıklayınız.
DotNetCore 2.0.0 Windows Hosting (ASPNetCore Modülü) indirmek için tıklayınız.

Eğer güvenlik amacıyla doğrudan Microsoft’un sunucularından indirmek isterseniz de aşağıdaki bağlantıyı kullanabilirsiniz.

DotNetCore 1.0.4-1.1.1 Windows Hosting (AspNetCore Modülü) indirmek için tıklayınız. (Microsoft)
DotNetCore 2.0.0 Windows Hosting (ASPNetCore Modülü) indirmek için tıklayınız. (Microsoft)

Kurulumu yaptıktan sonra sunucuyu yeniden başlatmalısınız.
Sunucu açıldıktan sonra Command Prompt (cmd) Yönetici olarak çalıştırmalısınız. Sonrasında sırayla aşağıdaki komutları uygulamalısınız.

Yukarıdaki adım tamamlandıktan sonra aşağıdaki komutu çalıştırın.

Bu adımları tamamladıktan sonra IIS girmeli ve sitenizi seçtikten sonra sağ framede Module bulmalısınız.
Module’e girdikten sonra açılan alanda Actions bölümünde Add Managed Module’e tıklayarak aşağıdaki şekilde tanımlama yapmalısınız.

Name:AspNetCoreModule
Type:%SystemRoot%\System32\inetsrv\aspnetcore.dll

Sonrasında Handler Mappings’e gelip Add Module Mapping… demelisiniz. Eklemeniz gereken tanımlar da aşağıdaki gibidir:

Request path:*
Module:AspNetCoreModule
Executable(optional):Bu kısımı atlayın, boş kalabilir.
Name:aspNetCore

Bu tanımı Handler Mappings’e ekledikten sonra siteyi IIS üzerinde restart edip, .net leveli full trust yapıp kontrol edin.
Ayrıca web.config dosyasındaki tanımlarınızın doğruluğunu kontrol edin.
Sorunumu bu şekilde çözümlemiştim ve bu içeriği de diğer içeriklerim gibi geriye dönük not olması amacıyla ekliyorum.

Eğer .Net Core 2.0 kurulumunu gerçekleştirdikten sonra aşağıdaki gibi bir hata sayfasıyla karşılaşırsanız, sitenin Application Pool’unu açıp, CLR Version seçeneğini No Managed Code seçip Application Pool’u yeniden başlatın.

Kaynak Dökümanlar:

1. Using IIS Modules With ASP.NET Core
2. ASP.NET Core Module configuration reference
3. Publishing ASP.NET Core on IIS Server

IIS Web Core HTTP Error 500.19 – Internal Server Error Problemi Senaryo 2

Eğer Config Error kısmınızda yukarıdaki gibi bir tanım mevcutsa işiniz daha kolay. Sorun IIS kullanıcısının web.config dosyanıza erişememesinden kaynaklanıyor.
Bunun çözümü için de ilgili dizinde bulunan web.config’e sağ tıklayın ve aşağıdaki adımları takip edin.
Properties>Security>Edit…>Add…>Advanced>Find Now>IIS_IUSRS kullanıcısını seçin ve ekleyin.

Modify yetkisini de verip, siteyi yeniden başlatın.

Kaynak Dökümanlar:
1. Cannot read configuration file due to insufficient permissions problem

IIS Web Core HTTP Error 500.19 – Internal Server Error Problemi Senaryo 3

Eğer üstteki ilk 2 madde sizin için geçerli değilse muhtemelen yaşadığınız sorun aşağıdaki gibi.


Bu hatanın çözümü için Application Pool üzerinden uygulamanızın .Net versiyonunu 2.0’a çekip, 32 bit Applications True seçin.
Error code: 0x800700b7

“Because ASP.NET AJAX was invented after .NET 2.0, the configuration definitions never made it into the central web.config so you had to declare them on a per-site basis in most circumstances. 4.0 cleaned up lots of that cruft, with the side effect of breaking the default configurations for preceding versions of ASP.NET.”

Umarım zamandan kazanmanızı sağlar.