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.
- Browser yang Anda gunakan di server dikonfigurasikan untuk menggunakan proxy dalam pengaturan koneksi sehingga tidak dilihat sebagai "lokal".
- Anda sebenarnya tidak sedang meramban ke situs yang menurut Anda Anda jelajahi - ini biasanya terjadi ketika ada penyeimbang beban yang terlibat. Lakukan pemeriksaan ping untuk melihat apakah dns memberi Anda IP di server atau di tempat lain.
- Pengaturan httpErrors situs Anda disetel untuk "Khusus". Ubah ke "DetailedLocalOnly". Namun, jika Anda memiliki kesalahan konfigurasi, ini mungkin tidak berfungsi karena httpErrors tingkat situs juga merupakan item konfigurasi. Dalam hal ini lanjutkan ke # 4
- Default untuk httpErrors untuk semua situs ditetapkan untuk "Custom". Dalam hal ini Anda perlu mengklik pada node server tingkat atas di IIS Manager (dan bukan situs tertentu) dan mengubah pengaturan httpErrors di sana ke DetailedLocalOnly. Jika ini adalah server internal dan Anda tidak khawatir membocorkan informasi sensitif, Anda juga dapat mengaturnya ke "Detail" yang memungkinkan Anda melihat kesalahan dari klien selain dari server.
- Anda melewatkan modul di server seperti UrlRewrite (modul ini banyak menggigit saya, dan sering memberikan pesan umum terlepas dari pengaturan httpErrors).
"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.