Modifica diretta del file di configurazione applicationHost.config di IIS 7


38

So che IIS 7+ ora utilizza i file di configurazione XML anziché la metabase. So anche che se modifico un file web.config per un determinato sito, IIS rileva automaticamente le modifiche e implementa tutte le modifiche di configurazione corrispondenti.

Tuttavia, questo vale anche per il file delle impostazioni applicationHost.config a livello di server? (Di solito si trova in C: \ windows \ system32 \ inetsrv \ config.) In particolare, è sicuro modificare con attenzione questo file invece di usare IIS Manager o l'utilità della riga di comando appcmd? Non ho trovato nulla nella documentazione che dicesse che andava bene o no.

Sono curioso perché devo cambiare i collegamenti per numerosi siti da un IP all'altro. Sarebbe molto più veloce semplicemente fare una ricerca globale e sostituire l'indirizzo IP nel file di configurazione invece di modificare manualmente alcune dozzine di siti nella GUI.

Risposte:


51

Controlla anche questa risposta da qui: Impossibile modificare manualmente applicationhost.config

La risposta è semplice, se non così ovvia: win2008 è 64 bit, notepad ++ è 32 bit. Quando si accede a Windows \ System32 \ inetsrv \ config utilizzando Explorer, si sta utilizzando un programma a 64 bit per trovare il file. Quando apri il file usando notepad ++ stai provando ad aprirlo usando un programma a 32 bit. La confusione si verifica perché, anziché dirti che questo è ciò che stai facendo, Windows ti consente di aprire il file ma quando lo salvi il percorso del file viene mappato in modo trasparente su Windows \ SysWOW64 \ inetsrv \ Config.

Quindi in pratica quello che succede è aprire applicationhost.config usando notepad ++, fare una modifica, salvare il file; ma anziché sovrascrivere l'originale si sta salvando una copia a 32 bit in Windows \ SysWOW64 \ inetsrv \ Config, quindi non si stanno apportando modifiche alla versione effettivamente utilizzata da IIS. Se passi a Windows \ SysWOW64 \ inetsrv \ Config troverai il file che hai appena salvato.

Come aggirare questo? Semplice: utilizzare un editor di testo a 64 bit, come il normale blocco note fornito con Windows.


7
Ho salvato la mia pancetta con questo ... che strano problema che mi stava facendo pensare che stavo diventando pazzo. Grazie!
brettwgreen

Questo non sembra più essere un problema in Windows 10, quindi è stato terribilmente confuso quando stava accadendo nei nostri computer Windows 7 e Windows Server 2012.
Dzyann,

Grazie, @Markive. Questa è una questione molto confusa a prima vista.
Moby Stunt Double,

9

In particolare, è sicuro modificare con attenzione questo file invece di utilizzare IIS Manager o l'utilità della riga di comando appcmd?

Sì! È possibile modificare direttamente il file applicationhost.config se si è un amministratore sulla macchina; è tutto ciò che fanno anche gli strumenti di amministrazione.

In caso di problemi, per impostazione predefinita vengono archiviati almeno 20 minuti di backup della configurazione in \ inetpub \ history .


Grazie! Non so perché non lo documentino più.
lunadesign,


0

Un altro bit utile da sapere: quando modifichi manualmente il file applicationHost.config (come fanno gli strumenti) verranno riciclate solo le applicazioni per le quali hai modificato la configurazione. In realtà IIS esegue un'istantanea della configurazione per ogni applicazione e non la aggiorna fino a quando non cambia qualcosa per quell'applicazione.


Secondo stackoverflow.com/questions/8635884/… e nei commenti è necessario un riavvio completo.
Yoel Halb,
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.