2010-06-01 20 views
7

Ho un'applicazione ASP.NET 1.1 in esecuzione su IIS 6/Windows Server 2003. È la nostra applicazione, ma stiamo cercando di replicare in modo specifico l'installazione di un cliente in modo che l'app la cartella è stata interamente copiata dal loro server di produzione sulla nostra macchina di prova, e quindi abbiamo creato manualmente la directory virtuale e l'applicazione Web per IIS.Errore HTTP IIS 403.1 - Accesso negato: accesso negato

Internet Information Services (IIS):

  • Pool di applicazioni
  • Siti
    • Sito Web predefinito
      • xxxxx (Directory virtuale)
        • yyyyy (Applicazione Web)
  • Estensioni servizio Web

Il problema che ho è che quando si accede l'applicazione, si ottiene il messaggio di errore di sicurezza di IIS di serie:

The page cannot be displayed 
You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed. 
-------------------------------------------------------------------------------- 

Please try the following: 

•Contact the Web site administrator if you believe this directory should allow execute access. 
HTTP Error 403.1 - Forbidden: Execute access is denied. 
Internet Information Services (IIS) 

Ora questo è abbastanza standard, tranne per quanto posso vedere è non niente di così semplice.

Ho controllato:

  • utente IIS ha letto l'accesso alla directory
  • utente IIS e di servizi di rete gli utenti hanno accesso in lettura/scrittura alla cartella file temporanei di ASP.NET
  • directory virtuale è impostato per la versione corretta di ASP.NET
  • ASP.NET Estensione Servizio 1.1 Web è consentito
  • directory virtuale ha le corrette mappature di estensioni di file e di tutti i verbi al ASPNET 1.1 DLL
  • proprietà della directory virtuali consentono Script ed eseguibili da eseguire
  • accesso anonimo è attivata e il nome utente e la password sono corretti

Che cosa mi manca?

risposta

13

Quando hai creato un'applicazione su IIS hai controllato l'esecuzione dello script? È necessario attivare due prime opzioni per eseguire qualsiasi operazione da questa applicazione, inclusa la directory virtuale creata.

clic destro sulla applicazione principale> scheda Home directory> Permessi esecutivi impostato solo script ...

+1

Penso che intendi se l'applicazione Web (yyyyy) è a un livello inferiore rispetto alla directory virtuale (xxxxx) che le proprietà di ciascuno sono impostate individualmente per consentire l'esecuzione dello script? Risulta che hai ragione e il livello più basso (yyyyy) non sovrascrive il livello più alto (xxxxx) in questo caso, quindi è stato corretto. – Coxy

+0

Potrebbe essere o il livello superiore non sovrascrive o il livello superiore impostato per non eseguire script ... Non ho potuto vedere le tue impostazioni IIS ma quando gli script non possono essere eseguiti questa è la prima cosa da cercare ... – eugeneK

+0

Ho appena ricevuto preso da questo con un sito web statico. Il meccanismo che abilita le pagine di contenuto predefinite (ad esempio index.htm) presumibilmente ha bisogno di questa autorizzazione concessa per funzionare. Avrei pensato che l'UI si sarebbe preso cura di quello. Il tempo di ritirare il vecchio server IIS 6 credo! – MarkHone

1

Potrebbe anche essere necessario controllare i "Modifica autorizzazioni funzionalità ..." pulsante sul pannello di destra della Handler Impostazioni di mapping per l'applicazione specifica e abilitare "Esegui". Questo è ciò che ha tenuto i miei colleghi di lavoro e io per 3 ore con sintomi altrimenti abbastanza identici.