500 Errore durante l'utilizzo dell'account personalizzato per il pool di applicazioni in IIS 7


11

Ho un sito molto semplice con solo file statici in IIS 7 su Windows Server 2008 SP2.

Quando provo ad accedere a qualsiasi file statico ricevo un errore 500. Se rinomino un file html per avere un'estensione aspx, funziona bene.

Il sito funziona anche bene quando si utilizza l'identità integrata per il pool di applicazioni. Il problema si verifica quando passo a utilizzare un account personalizzato per il pool di applicazioni. Ho provato a utilizzare account sia locali che di dominio per eseguire il pool di applicazioni in.

Ho dato il pieno controllo a questi account sulla directory e sui file del sito web.

L'attivazione della traccia rivela questo messaggio di errore:
ModuleName:
Notifica IIS Web Core : 2
HttpStatus: 500
HttpReason: errore interno del server
HttpSubStatus: 0
ErrorCode: 2147943746
ConfigExceptionInfo
Notifica: AUTHENTICATE_REQUEST
ErrorCode: O non è stato fornito un livello di rappresentazione richiesto o il livello di rappresentazione fornito è invalido. (0x80070542)

Non ho avuto fortuna con google il codice di errore.

Risposte:


9

Prolem Risolto: il gruppo IIS_IUSRS mancava dal "impersonare un client dopo l'autenticazione" nella politica di sicurezza locale.


Ha funzionato per me grazie! Inoltre, ecco come farlo passo dopo passo per i manichini come me: Start> Locale> Politica di sicurezza> Politiche locali> Assegnazione diritti utente> Impersonare un client dopo l'autenticazione> Aggiungi utente o gruppo ...> Seleziona IIS_IUSRS
Wowe

1

puoi provare a cambiare il pool di applicazioni per questa applicazione virtuale e dare a questo nuovo pool autorizzazioni personali

per concedere le autorizzazioni per un pool specifico, è sufficiente fornire le autorizzazioni per l'utente "IIS APPPOOL \ YOUR_POOL_NAME"


0

Oltre alla risposta di Brownie (è corretto, devi dare questo diritto all'account del pool di app); se IIS ti invia questo errore quando lo chiami utilizzando un client WCF (+ l'autenticazione di Windows è abilitata in IIS), è possibile che i flag del token NTLM dati a IIS non gli consentano di rappresentare il chiamante.

Modifica la configurazione del tuo client da questo (impostazione predefinita):

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Identification" />
  </clientCredentials>
</behavior>

A questo:

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Impersonation" />
  </clientCredentials>
</behavior>

Consulta questo articolo per i dettagli: Rappresentazione e delega in WCF

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.