IIS 7.5, 2008rc2, asp klasik, pesan kesalahan 500:
Halaman tidak dapat ditampilkan karena kesalahan server internal telah terjadi.
Saya perlu tahu cara mengkonfigurasi IIS untuk mendapatkan kesalahan yang lebih rinci.
Saya sudah mencoba menyetel ke true semua opsi debugging di konfigurasi ASP.
Tapi itu tidak berhasil. Ada yang bisa bantu saya?
asp-classic
error-handling
iis-7.5
egidioc
sumber
sumber
Jawaban:
Aku datang untuk masalah yang sama dan tetap cara yang sama seperti Alex K .
Jadi jika "Kirim Kesalahan Ke Browser" tidak berfungsi, atur juga ini:
Halaman Kesalahan -> 500 -> Edit Pengaturan Fitur -> "Kesalahan Detail"
Perhatikan juga bahwa jika konten halaman kesalahan yang dikirim kembali cukup pendek dan Anda menggunakan IE, IE dengan senang hati akan mengabaikan konten berguna yang dikirim kembali oleh server dan sebagai gantinya menunjukkan halaman kesalahan generiknya sendiri. Anda dapat mematikannya di opsi IE, atau menggunakan browser lain.
sumber
Turn Windows features on or off > Internet Information Services > World Wide Web Services > Common HTTP Features > [✓] HTTP Errors
.HOW-TO
untuk Halaman Kesalahan NET ?Jika Anda menggunakan server jarak jauh, Anda dapat mengonfigurasi file web.config seperti:
sumber
<system.webserver>
pengaturan sudah cukup dalam kasus saya, terima kasih.system.webServer
Bagian dibaca oleh IIS 7 + bahkan ketika menjalankan ASP klasikcustomErrors
(misalnya IIS 7+, ASP.NET, Classic AppPool ) tedgustaf.com/blog/2011/5/…Klik dua kali "ASP" di layar Beranda situs di admin IIS, luaskan "Properti Debugging", aktifkan "Kirim kesalahan ke browser", dan klik "Terapkan".
Di bawah "Halaman Kesalahan" pada layar beranda pilih "500", lalu "Edit pengaturan fitur" dan pilih "Kesalahan Detail".
Perhatikan bahwa langkah-langkah yang sama berlaku untuk IIS 8.0 (Windows Server 2012).
sumber
Setelah mencoba jawaban Vaclav dan Alex , saya masih harus menonaktifkan "Tampilkan pesan kesalahan HTTP ramah" di IE
sumber
Di web.config di bawah
ganti (atau tambahkan) garis
dengan
Ini karena secara default IIS7 memotong kode status HTTP seperti 4xx dan 5xx yang dihasilkan oleh aplikasi lebih jauh dalam pipa.
Selanjutnya, aktifkan " Kirim Kesalahan ke Browser " di bawah bagian "ASP", dan di bawah " Halaman Kesalahan / Edit Pengaturan Fitur ", pilih "Kesalahan terperinci".
Juga, berikan izin menulis di folder situs web ke grup bawaan IIS_IUSRS .
sumber
Set-WebConfigurationProperty '/system.WebServer/httpErrors' -Name errorMode -Value Detailed
TLDR: Pertama tentukan dari mana dalam pipeline Anda mendapatkan kesalahan (gulir mencari screenshot dari sesuatu yang menyerupai kesalahan Anda), buat perubahan untuk mendapatkan sesuatu yang baru, ulangi.
Pertama-tama tentukan pesan kesalahan apa yang sebenarnya Anda lihat.
Jika Anda melihat file yang terletak di sini ...
% SystemDrive% \ inetpub \ custerr \\ 500.htm
... yang umumnya terlihat seperti ini:
... maka Anda tahu bahwa Anda melihat halaman kesalahan yang saat ini dikonfigurasi dalam ** IIS ** dan Anda TIDAK perlu mengubah pengaturan customErrors ASP.net, pengaturan detail kesalahan asp, atau pengaturan browser "tampilkan http ramah kesalahan".
Anda mungkin ingin melihat jalur yang dirujuk di atas alih-alih mempercayai tangkapan layar saya kalau-kalau ada yang mengubahnya.
"Ya, saya melihat kesalahan yang dijelaskan di atas ..."
Dalam hal ini, Anda melihat pengaturan < httpErrors > atau di IIS Manager, itu Halaman Kesalahan -> Edit Pengaturan Fitur. Default untuk ini adalah errorMode = DetailedLocalOnly pada tingkat node server (yang bertentangan dengan tingkat situs) yang berarti bahwa sementara Anda akan melihat halaman kesalahan yang dikonfigurasi ini saat jauh, Anda harus dapat logon secara lokal ke server dan melihat penuh kesalahan yang seharusnya terlihat seperti ini:
Anda harus memiliki semua yang Anda butuhkan pada saat itu untuk memperbaiki kesalahan saat ini.
"Tapi saya tidak melihat kesalahan detail bahkan browsing di server"
Itu menyisakan beberapa kemungkinan.
"Masuk ke server bukan pilihan bagi saya"
Ubah httpErrors situs Anda menjadi "Detail" sehingga Anda dapat melihatnya dari jarak jauh. Tetapi jika itu tidak berhasil, kesalahan Anda mungkin sudah merupakan kesalahan konfigurasi, lihat # 3 tepat di atas. Jadi Anda mungkin terjebak dengan # 4 atau # 5 dan Anda akan membutuhkan seseorang dari tim server Anda.
"Aku tidak melihat halaman kesalahan yang dijelaskan di atas. Aku melihat sesuatu yang berbeda"
Jika Anda melihat ini ...
... dan Anda berharap untuk melihat sesuatu seperti ini ...
... maka Anda perlu mengubah "Kirim kesalahan ke peramban" menjadi true di IIS Manager, di bawah Situs -> IIS -> ASP -> Properti Debugging
Jika Anda melihat ini ...
atau ini...
... Anda harus menonaktifkan kesalahan ramah di peramban atau menggunakan tampilan web fiddler untuk melihat respons aktual vs apa yang peramban pilih untuk ditampilkan kepada Anda.
Jika Anda melihat ini ...
... maka kesalahan khusus berfungsi tetapi Anda tidak memiliki halaman kesalahan khusus (tentu saja pada saat ini sedang berbicara tentang .net dan bukan asp klasik). Anda perlu mengubah tag customErrors Anda di web.config ke RemoteOnly untuk melihat di server, atau Tidak aktif untuk melihat dari jarak jauh.
Jika Anda melihat sesuatu yang ditata seperti situs Anda, maka kesalahan khusus kemungkinan On atau RemoteOnly dan itu menampilkan halaman kustom (Views-> Shared-> Error.cshtml di MVC misalnya). Yang mengatakan, itu tidak mungkin tetapi mungkin seseorang mengubah halaman di IIS untuk httpErrors jadi lihat bagian pertama tentang itu.
sumber
coba atur nilai atribut httpErrors "existingResponse" menjadi "PassThrough". Milik saya diatur pada "Ganti" yang menyebabkan YSOD tidak ditampilkan.
sumber
Satu hal yang tidak ada yang disebutkan adalah sebagai perbaikan yang sangat cepat dan sementara, Anda dapat melihat kesalahan pada localhost server web itu.
sumber
Anda juga dapat memverifikasi bahwa jika Anda mengubah folder situs web utama Anda (
c:\inetpub\wwwroot
) ke folder lain, Anda harus memberikan izin baca kepada grup IIS_IUSRS di folder baru.sumber
Untuk orang-orang yang telah mencoba semuanya dan tidak bisa mendapatkan detail kesalahan untuk ditampilkan, seperti saya, adalah ide yang baik untuk memeriksa berbagai tingkat konfigurasi. Saya memiliki file konfigurasi di tingkat Situs Web dan pada tingkat Aplikasi (di dalam situs web) periksa keduanya. Juga, ternyata, saya memiliki Kesalahan Detail yang dinonaktifkan pada simpul tertinggi di IIS (tepat di bawah Halaman Awal, ia memiliki nama yang sama dengan nama pengguna webservers). Periksa Halaman Kesalahan di sana.
sumber
Menemukannya.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
jalankan cmd sebagai administrator, buka folder system32 \ inetsrv Anda dan jalankan:
Sekarang saya bisa melihat detail kesalahan asp.
sumber
Jika Anda menjalankan browser di server dan menguji url proyek Anda dengan ip lokal Anda telah menerima semua kesalahan proyek itu tanpa halaman kesalahan umum (misalnya 500 halaman kesalahan).
sumber