TLDR: per prima cosa determinare da dove nella pipeline stai ricevendo l'errore (scorrere cercando schermate di qualcosa che assomiglia al tuo errore), apportare modifiche per ottenere qualcosa di nuovo, ripetere.
Innanzitutto determinare quale messaggio di errore si sta effettivamente visualizzando.
Se vedi il file che si trova qui ...
% SystemDrive% \ inetpub \ custerr \\ 500.htm
... che generalmente si presenta così:
... allora sai che stai vedendo la pagina di errore attualmente configurata in ** IIS ** e NON hai bisogno di cambiare le impostazioni di errore personalizzato ASP.net, l'impostazione di dettaglio dell'errore asp o l'impostazione del browser "mostra errori http amichevoli".
Potresti voler guardare il percorso sopra indicato invece di fidarti del mio screenshot nel caso in cui qualcuno lo abbia cambiato.
"Sì, vedo l'errore sopra descritto ..."
In questo caso, stai vedendo l'impostazione di < httpErrors > o in Gestione IIS è Pagine di errore -> Modifica impostazioni funzionalità. L'impostazione predefinita per questo è errorMode = DetailLocalOnly a livello di nodo del server (a differenza del livello del sito) che significa che mentre vedrai questa pagina di errore configurata mentre sei remoto, dovresti essere in grado di accedere localmente al server e vedere l'intero errore che dovrebbe assomigliare a questo:
Dovresti avere tutto ciò di cui hai bisogno a quel punto per correggere l'errore corrente.
"Ma non vedo l'errore dettagliato nemmeno navigando sul server"
Questo lascia un paio di possibilità.
- Il browser che si sta utilizzando sul server è configurato per utilizzare un proxy nelle sue impostazioni di connessione, quindi non viene visto come "locale".
- In realtà non stai navigando verso il sito che ritieni stia visitando - questo accade di solito quando è coinvolto un bilanciamento del carico. Fai un controllo ping per vedere se DNS ti dà un IP sul server o da qualche altra parte.
- Sei httpErrors del sito impostazioni di sono impostate solo su "Personalizzato". Modificalo in "DettagliatoLocalOnly". Tuttavia, se si verifica un errore di configurazione, questo potrebbe non funzionare poiché anche httpErrors a livello di sito è un elemento di configurazione. In tal caso, procedere al n. 4
- L'impostazione predefinita per httpErrors per tutti i siti è "Personalizzata". In questo caso, è necessario fare clic sul nodo del server di livello superiore in Gestione IIS (e non su un sito specifico) e modificare le impostazioni di httpErrors in dettagliateLocalOnly. Se si tratta di un server interno e non sei preoccupato di divulgare informazioni sensibili, puoi anche impostarlo su "Dettagliato" che ti permetterà di vedere l'errore da client diversi dal server.
- Ti manca un modulo sul server come UrlRewrite (questo mi morde molto, e spesso dà il messaggio generico indipendentemente dalle impostazioni di httpErrors).
"Accedere al server non è un'opzione per me"
Cambia gli httpErrors del tuo sito in "Dettagliato" in modo da poterlo vedere da remoto. Ma se non funziona il tuo errore potrebbe essere già un errore di configurazione, vedi # 3 immediatamente sopra. Quindi potresti essere bloccato con # 4 o # 5 e avrai bisogno di qualcuno del tuo team di server.
"Non vedo la pagina di errore descritta sopra. Sto vedendo qualcosa di diverso"
Se vedi questo ...
... e ti aspetti di vedere qualcosa del genere ...
... quindi è necessario modificare "Invia errori al browser" su true in Gestione IIS, sotto Sito -> IIS -> ASP -> Proprietà di debug
Se vedi questo ...
o questo...
... devi disabilitare gli errori amichevoli nel tuo browser o utilizzare la webview di Fiddler per vedere la risposta effettiva rispetto a ciò che il tuo browser sceglie di mostrarti.
Se vedi questo ...
... allora gli errori personalizzati stanno funzionando ma non hai una pagina di errore personalizzata (ovviamente a questo punto si parlava di .net e non di asp classico). È necessario modificare il tag CustomErrors nel proprio web.config in RemoteOnly per visualizzare sul server o su Off per visualizzare in remoto.
Se vedi qualcosa che ha lo stile del tuo sito, è probabile che gli errori personalizzati siano attivi o remoti e che visualizzi la pagina personalizzata (ad esempio Visualizzazioni-> Condiviso-> Errore.cshtml in MVC). Detto questo, è improbabile ma possibile che qualcuno abbia cambiato le pagine in IIS per httpErrors, quindi vedi la prima sezione su questo.