Secara langsung mengedit file konfigurasi IIS 7 applicationHost.config

38

Saya tahu bahwa IIS 7+ sekarang menggunakan file konfigurasi XML bukan metabase. Saya juga tahu bahwa jika saya mengedit file web.config untuk situs tertentu, IIS secara otomatis mendeteksi perubahan dan mengimplementasikan perubahan konfigurasi yang sesuai.

Namun, apakah ini juga berlaku untuk file pengaturan applicationHost.config tingkat server? (Biasanya terletak di C: \ windows \ system32 \ inetsrv \ config.) Secara khusus, apakah aman untuk mengedit file ini dengan hati-hati daripada menggunakan IIS Manager atau utilitas baris perintah appcmd? Saya tidak dapat menemukan apa pun di dokumentasi yang mengatakan tidak apa-apa atau tidak apa-apa untuk melakukan ini.

Saya ingin tahu karena saya harus mengubah binding untuk banyak situs dari satu IP ke yang lain. Akan jauh lebih cepat untuk hanya melakukan pencarian global dan ganti untuk alamat IP dalam file konfigurasi daripada secara manual mengedit beberapa lusin situs di GUI.

lunadesign
sumber

Jawaban:

51

Periksa juga jawaban ini dari sini: Tidak dapat mengedit secara manual applicationhost.config

Jawabannya sederhana, jika tidak jelas: win2008 adalah 64bit, notepad ++ 32bit. Ketika Anda menavigasi ke Windows \ System32 \ inetsrv \ config menggunakan explorer Anda menggunakan program 64bit untuk menemukan file. Ketika Anda membuka file menggunakan notepad ++ Anda mencoba membukanya menggunakan program 32bit. Kebingungan terjadi karena, alih-alih memberi tahu Anda bahwa ini yang Anda lakukan, windows memungkinkan Anda untuk membuka file tetapi ketika Anda menyimpannya path file secara transparan dipetakan ke Windows \ SysWOW64 \ inetsrv \ Config.

Jadi dalam prakteknya apa yang terjadi adalah Anda membuka applicationhost.config menggunakan notepad ++, buat perubahan, simpan file; tetapi alih-alih menimpa yang asli, Anda menyimpan salinan 32bitnya di Windows \ SysWOW64 \ inetsrv \ Config, karena itu Anda tidak membuat perubahan pada versi yang sebenarnya digunakan oleh IIS. Jika Anda menavigasi ke Windows \ SysWOW64 \ inetsrv \ Config Anda akan menemukan file yang baru saja Anda simpan.

Bagaimana menyiasatinya? Sederhana - gunakan editor teks 64bit, seperti notepad normal yang dikirimkan bersama windows.

Ditandai
sumber
7
Menyelamatkan bacon saya dengan yang satu ini ... betapa anehnya masalah yang membuat saya berpikir saya akan menjadi gila. Terima kasih!
brettwgreen
Ini sepertinya tidak menjadi masalah lagi di Windows 10, jadi itu sangat membingungkan ketika itu terjadi di mesin Windows 7 dan Windows Server 2012 kami.
Dzyann
Terima kasih, @Markive. Sepintas ini masalah yang sangat membingungkan.
Moby Stunt Double
9

Secara khusus, apakah aman untuk mengedit file ini dengan hati-hati daripada menggunakan IIS Manager atau utilitas baris perintah appcmd?

Iya nih! Anda dapat mengedit file applicationhost.config secara langsung jika Anda seorang Administrator di mesin; itu semua yang dilakukan alat Admin juga.

Jika Anda mendapat masalah, setidaknya 20 menit cadangan konfigurasi disimpan di \ inetpub \ history secara default.

TristanK
sumber
Terima kasih! Saya tidak tahu mengapa mereka tidak mendokumentasikan ini lebih lanjut.
lunadesign
3

Anda akan menemukan pengantar yang bagus untuk file applicationHost.config tepat di IIS.NET . Ada juga Referensi menyeluruh untuk semua elemen dalam skema konfigurasi IIS.

Ini sebenarnya cukup terdokumentasi dengan baik :-)

Mathias R. Jessen
sumber
0

Sedikit hal lain yang perlu diketahui: ketika Anda mengedit file applicationHost.config secara manual (seperti yang dilakukan alat), hanya aplikasi yang konfigurasi yang sudah Anda ubah yang akan didaur ulang. IIS sebenarnya mengambil snapshot dari konfigurasi untuk setiap aplikasi dan tidak memperbaruinya sampai sesuatu berubah untuk aplikasi itu.

Peter
sumber
Menurut stackoverflow.com/questions/8635884/… dan komentar diperlukan reboot penuh.
halo yoel