Gambaran Umum Modul IIS

oleh Tim IIS, Mike Volodarsky

Kompatibilitas

Versi Catatan
IIS 7.0 dan yang lebih baru Fitur yang dijelaskan dalam artikel ini diperkenalkan di IIS 7.0.
IIS 6.0 dan yang lebih lama Fitur yang dijelaskan dalam artikel ini tidak didukung sebelum IIS 7.0.

Pengantar

Set fitur server Web IIS 7 ke atas di komponen menjadi lebih dari tiga puluh modul independen.

Modul adalah DLL Win32 (modul asli) atau jenis .NET 2.0 yang terkandung dalam rakitan (modul terkelola). Mirip dengan sekumpulan blok penyusun, modul ditambahkan ke server untuk menyediakan fungsionalitas yang diinginkan untuk aplikasi Anda. Demikian juga, semua modul IIS dapat dihapus, atau diganti dengan modul kustom yang dikembangkan menggunakan API IIS C++, atau API ASP.NET 2.0 yang akrab.

Artikel ini menjelaskan tugas manajemen modul IIS umum, dan merinci setiap modul termasuk pengaturan konfigurasinya dan efek potensial yang dimiliki penghapusan modul di server Web. Contoh manajemen diberikan menggunakan Manajer IIS grafis dan alat baris perintah AppCmd .

Prasyarat

Untuk mengikuti langkah-langkah dalam dokumen ini, yang terbaik adalah melakukan penginstalan penuh IIS.

Catatan

Tidak semua edisi Windows mendukung semua fitur IIS yang tersedia. Untuk melihat fitur IIS mana yang didukung pada sistem operasi Anda, Anda harus berkonsultasi dengan dokumentasi yang dikirim dengan versi Windows Anda.

Untuk Melakukan Penginstalan Penuh IIS di Windows Vista, Windows 7, Windows 8, Windows 10 atau Windows 11

  1. Klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program.
  3. Di bawah Program dan Fitur, klik Aktifkan atau nonaktifkan fitur Windows.
  4. Dalam dialog Fitur Windows, perluas Layanan Informasi Internet dan pilih semua fitur.
    Anda mungkin perlu memperluas beberapa kategori untuk memilih semua fitur dalam kategori tersebut.
  5. Klik OK.

Untuk Melakukan Penginstalan Penuh IIS di Windows Server 2008/R2, Windows Server 2012/R2, atau Windows Server 2016

  1. Buka Peran Manajer>Server dan pilih Server Web (IIS).
  2. Periksa semua fitur di bawah Server Web.

Memulai Modul

Untuk menambahkan modul ke server, Anda harus melakukan dua langkah:

  1. Instal modul di server (hanya modul asli).
  2. Aktifkan modul dalam aplikasi.

Langkah pertama mendaftarkan modul secara global dengan server, membuatnya tersedia dalam setiap proses pekerja server. Ini hanya diperlukan untuk modul asli karena sifat tepercaya dari kode asli, dan hanya tersedia untuk administrator.

Catatan

Modul asli memiliki akses tak terbatas ke sumber daya apa pun yang tersedia untuk proses pekerja server, sama seperti filter atau ekstensi ISAPI di versi sebelumnya. Karena akses yang tidak terbatas ini, Anda hanya harus menginstal modul asli yang berasal dari sumber tepercaya.

Langkah kedua memungkinkan modul dijalankan dalam aplikasi tertentu dan secara efektif memungkinkan administrator aplikasi mengontrol fitur server yang diaktifkan untuk aplikasi. Langkah ini memungkinkan modul asli yang diinstal dan modul terkelola diaktifkan untuk setiap aplikasi.

Untuk Menginstal Modul Asli

Untuk menginstal modul asli, modul harus terdaftar di server menggunakan salah satu opsi di bawah ini:

  • Mengedit penyimpanan konfigurasi IIS secara manual. Di IIS 7.5 dan yang lebih baru, Anda dapat menggunakan Editor Konfigurasi di Manajer IIS.
  • Menggunakan Manajer IIS
  • Menggunakan alat baris perintah AppCmd.exe

Ketiga opsi ini mengakibatkan entri modul ditambahkan ke <bagian konfigurasi IIS globalModules> , yang hanya dapat diatur di tingkat server. Untuk memeriksa konten bagian ini, buka file konfigurasi akar yang terletak di %windir%\system32\inetsrv\config\applicationhost.config, dan cari string "<globalModules>".

Setelah penginstalan IIS penuh, bagian ini berisi entri untuk setiap modul asli yang dikirim dengan IIS, menentukan nama dan jalur ke DLL modul:

<globalModules>
    <add name="DefaultDocumentModule" image="%windir%\system32\inetsrv\defdoc.dll" />
    <add name="DirectoryListingModule" image="%windir%\system32\inetsrv\dirlist.dll" />
    <add name="StaticFileModule" image="%windir%\system32\inetsrv\static.dll" />
    ...

</globalModules>

Semua modul ini dijelaskan secara rinci nanti dalam dokumen ini.

Untuk Menghapus Instalan Modul Asli

Anda dapat menghapus instalan modul asli jika modul tersebut tidak lagi digunakan di server, atau jika Anda ingin menggantinya dengan modul lain. Hapus entri modul yang sesuai dari <daftar konfigurasi globalModules> , dan entri terkait dalam <modules> daftar konfigurasi menggunakan salah satu opsi berikut:

  • Mengedit penyimpanan konfigurasi IIS secara manual. Di IIS 7.5 ke atas Anda dapat menggunakan Editor Konfigurasi.
  • Menggunakan Manajer IIS
  • Menggunakan alat baris perintah AppCmd.exe

Catatan

<Karena bagian konfigurasi globalModules> hanya dapat diatur di tingkat server, Anda harus menjadi administrator untuk menghapus instalan modul.

Mengaktifkan Modul untuk Aplikasi

Modul harus diaktifkan sebelum dapat menyediakan layanan untuk aplikasi tertentu. Untuk mengaktifkan modul asli, modul harus terlebih dahulu diinstal di server (lihat bagian sebelumnya, Untuk Menginstal Modul Asli).

Modul terkelola tidak memerlukan penginstalan, dan dapat diaktifkan langsung untuk setiap aplikasi. Ini memungkinkan aplikasi untuk menyertakan modul terkelola mereka langsung dalam aplikasi dengan mendaftarkannya dalam file web.config aplikasi, dan menyediakan implementasi di direktori /BIN atau /App_Code.

Untuk mengaktifkan modul, lakukan salah satu hal berikut:

  • Edit penyimpanan konfigurasi IIS secara manual, baik secara global untuk mengaktifkan modul untuk semua aplikasi di server, atau dalam file web.config tertentu yang terletak di dalam setiap aplikasi yang ingin Anda aktifkan modul ini. Di IIS 7.5 atau lebih tinggi, Anda dapat menggunakan Editor Konfigurasi.
  • Menggunakan Manajer IIS
  • Menggunakan alat baris perintah AppCmd.exe

Ketiga opsi ini menambahkan entri modul ke <modules> bagian konfigurasi IIS, yang dapat diatur di tingkat server dan tingkat aplikasi. Periksa konten bagian ini dengan membuka file konfigurasi akar yang terletak di %windir%\system32\inetsrv\config\applicationhost.config, dan mencari string "<modul>".

Tidak seperti modul asli, modul terkelola tidak memerlukan penambahan entri ke <bagian konfigurasi globalModules> .

Setelah penginstalan IIS penuh, bagian konfigurasi berisi entri untuk setiap modul (baik terkelola maupun asli) yang dikirim dengan IIS. Entri menunjukkan bahwa semua modul ini diaktifkan secara default untuk semua aplikasi di server. Setiap entri di bagian ini menentukan nama modul asli yang sebelumnya diinstal pada server, atau nama dan jenis .NET dari modul terkelola:

<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
 ...

</modules>

Menonaktifkan Modul dalam Aplikasi

Nonaktifkan modul jika modul tersebut tidak lagi digunakan dalam aplikasi, atau jika Anda ingin menggantinya dengan modul lain. Untuk menonaktifkan modul, hapus entri modul yang sesuai dari <modules> koleksi konfigurasi untuk aplikasi tertentu di mana Anda tidak ingin modul ini dijalankan. Jika modul diaktifkan di tingkat server, hapus di sana untuk menonaktifkannya di semua aplikasi di server secara default. Gunakan salah satu opsi berikut untuk menghapus modul di tingkat server:

  • Edit bagian <konfigurasi system.webServer>/<modules> secara manual di aplikasi Anda.
  • Gunakan Manajer IIS.
  • Gunakan alat baris perintah AppCmd.exe.

Setelah modul dihapus dari aplikasi, modul tidak akan aktif dalam aplikasi tersebut. Namun, jika modul asli, modul masih akan dimuat dalam proses pekerja server, dan dapat digunakan oleh aplikasi lain yang tidak menghapusnya.

Catatan

Bagian konfigurasi tidak terkunci secara default jika ASP.NET diinstal. Pembukaan kunci default ini memungkinkan aplikasi untuk menonaktifkan modul asli dan terkelola yang diaktifkan secara global, dan untuk menambahkan modul terkelola baru. Bagian konfigurasi ini dapat dikunci di tingkat server untuk mencegah modifikasi sepenuhnya, atau mencegah penghapusan entri modul tertentu jika diinginkan oleh Administrator.

Prasyarat

Ada atribut lain pada entri modul yang disebut prasyarat. Mesin inti IIS menggunakan prasyarat untuk menentukan kapan harus mengaktifkan modul tertentu. Alasan performa, misalnya, mungkin menentukan bahwa Anda hanya ingin menjalankan modul terkelola untuk permintaan yang juga masuk ke handler terkelola. Prasyarat dalam contoh berikut (precondition="managedHandler") hanya memungkinkan modul autentikasi formulir untuk permintaan yang juga ditangani oleh handler terkelola, seperti permintaan untuk .aspx atau file .asmx:

<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

Jika Anda menghapus atribut precondition="managedHandler", Autentikasi Formulir juga berlaku untuk konten yang tidak dilayani oleh handler terkelola, seperti ekstensi .html, .jpg, .doc, tetapi juga untuk ekstensi ASP (.asp) atau PHP (.php) klasik. Lihat "Cara Memanfaatkan Alur Terintegrasi IIS" untuk contoh mengaktifkan modul ASP.NET untuk dijalankan untuk semua konten.

Anda juga dapat menggunakan pintasan untuk mengaktifkan semua modul terkelola (ASP.NET) untuk dijalankan untuk semua permintaan di aplikasi Anda, terlepas dari prasyarat "managedHandler". Untuk mengaktifkan semua modul terkelola agar berjalan untuk semua permintaan tanpa mengonfigurasi setiap entri modul untuk menghapus prasyarat "managedHandler", gunakan properti runAllManagedModulesForAllRequests di <modules> bagian :

<modules runAllManagedModulesForAllRequests="true"/>

Saat Anda menggunakan properti ini, prasyarat "managedHandler" tidak berpengaruh dan semua modul terkelola berjalan untuk semua permintaan.

Mengkueri, Menambahkan, dan Menghapus Modul Menggunakan Manajer IIS

Manajer IIS menyediakan cara mudah untuk mengkueri, menambahkan, atau menghapus modul.

  1. Untuk membuka Manajer IIS, klik Mulai, ketik inetmgr di kotak Pencarian , lalu tekan ENTER.
  2. Klik nama komputer server IIS Anda.
  3. Klik ikon Modul di kategori IIS.

Manajer IIS

Gambar 1: Manajer IIS

Untuk mengelola modul yang diaktifkan untuk aplikasi tertentu

  1. Koneksi ke aplikasi tersebut menggunakan tampilan pohon di sebelah kiri.
  2. Navigasi ke panel fitur Modul.
  3. Klik Tambahkan Modul Terkelola untuk menambahkan Modul Terkelola ke aplikasi Anda. Tambahkan Modul Asli hanya memungkinkan Anda menambahkan modul yang sudah terdaftar di tingkat Server.

Untuk menghapus modul dari aplikasi Anda

  1. Klik modul dalam daftar. Hapus tugas ditampilkan di panel kiri.
  2. Klik Hapus.

Daftar Modul di Manajer IIS

Gambar 2: Daftar Modul di Manajer IIS

Mengelola Modul dari Baris Perintah

Untuk mengelola modul dengan cepat dari baris perintah, atau tugas manajemen modul skrip, gunakan alat baris perintah AppCmd.exe .

Untuk menginstal modul menggunakan AppCmd.exe

Pada Prompt Perintah, ketik perintah berikut, ganti nilai dalam miring dengan nilai untuk modul di komputer Anda.

Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL

Catatan

Menginstal modul asli secara otomatis mengaktifkannya di tingkat server.

Misalnya, perintah berikut menginstal modul Dokumen Default.

%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll

Jika Anda menjalankan perintah di komputer tempat modul sudah dimuat, Anda akan mendapatkan pesan kesalahan yang mirip dengan yang berikut ini:

ERROR (message:Failed to add duplicate collection element "DefaultDocumentModule".)

Untuk menghapus instalan modul menggunakan AppCmd.exe

Pada Prompt Perintah, ketik perintah berikut, ganti nilai dalam miring dengan nilai untuk modul di komputer Anda.

Appcmd.exe uninstall module MODULE_NAME

Catatan

Menghapus instalan modul secara otomatis menonaktifkannya di tingkat server.

Misalnya, perintah berikut menghapus instalan modul Dokumen Default. Perintah ini hanya disediakan sebagai contoh. Anda seharusnya hanya menjalankannya di server pengujian.

%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule

Untuk mencantumkan modul yang diaktifkan baik untuk aplikasi atau secara global

Pada Prompt Perintah, ketik perintah berikut, ganti nilai dalam teks miring dengan nilai untuk modul di komputer Anda.

Appcmd.exe list modules [/app.name:APPLICATION_NAME]

Misalnya, perintah berikut mencantumkan modul yang diaktifkan untuk Situs Web Default.

%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"

Dan perintah ini mencantumkan modul yang diinstal secara global.

%windir%\system32\inetsrv\appcmd.exe list modules

Untuk mengaktifkan modul baik untuk aplikasi tertentu atau secara global

Pada Prompt Perintah, ketik perintah berikut, ganti nilai dalam teks miring dengan nilai untuk modul di komputer Anda.

Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE

Misalnya, perintah berikut menambahkan modul Autentikasi Formulir ke Situs Web Default.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"

Dan perintah ini menambahkan Modul Autentikasi Formulir secara global.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule

Untuk menonaktifkan modul baik untuk aplikasi tertentu atau secara global

Pada Prompt Perintah, ketik perintah berikut, ganti nilai dalam teks miring dengan nilai untuk modul di komputer Anda.

Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]

Misalnya, perintah berikut menghapus modul Autentikasi Formulir dari Situs Web Default.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"

Dan perintah ini menghapus Modul Autentikasi Formulir secara global.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication

Untuk mendapatkan bantuan selengkapnya tentang sintaks untuk setiap perintah App Cmd.exe

Untuk menampilkan perintah yang didukung pada objek Modul, ketik perintah berikut:

Appcmd.exe module /?

Untuk menampilkan penggunaan setiap perintah, ketik perintah berikut:

Appcmd.exe install module /?Appcmd add module /?

Referensi Modul

Server IIS siap untuk disesuaikan. Baca daftar berikut dengan cermat untuk menghindari efek samping, kehilangan fitur, atau menghapus fitur keamanan.

Modul Utilitas

Modul ini tidak menyediakan layanan permintaan, tetapi sebaliknya membantu mesin server dengan operasi internalnya.

Nama Modul: UriCacheModule
Deskripsi: Menerapkan cache generik untuk status server khusus URL, seperti konfigurasi. Dengan modul ini, server hanya membaca konfigurasi untuk permintaan pertama untuk URL tertentu, dan menggunakannya kembali pada permintaan berikutnya hingga berubah.
Bagian konfigurasi: Tidak ada.
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Kehilangan performa karena status di-cache untuk setiap pengambilan URL untuk setiap permintaan.
Nama Modul: FileCacheModule
Deskripsi: Cache handel file untuk file yang dibuka oleh mesin server dan modul.
Bagian konfigurasi: Tidak ada.
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Kehilangan performa. Jika handel file tidak di-cache, file harus dibuka untuk setiap permintaan.
Nama Modul: TokenCacheModule
Deskripsi: Cache token keamanan windows untuk skema autentikasi berbasis kata sandi (autentikasi anonim, autentikasi dasar, autentikasi sertifikat klien IIS).
Bagian konfigurasi: Tidak ada.
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Kehilangan performa. Pengguna harus masuk untuk setiap permintaan jika token tidak di-cache. Dampak performa utama dapat mengakibatkan. Misalnya, jika halaman html yang dilindungi kata sandi mereferensikan 50 gambar yang juga dilindungi, 51 panggilan logonUser ke database akun lokal, atau lebih buruk, ke pengontrol domain di luar kotak, mengakibatkan masalah performa.
Nama Modul: ManagedEngine
Deskripsi: Mesin Terkelola memiliki tempat khusus dalam semua modul lainnya. Ini bertanggung jawab untuk menyediakan integrasi IIS untuk terhubung dengan runtime ASP.NET.
Bagian konfigurasi:
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini ASP.NET integrasi akan dinonaktifkan. Tidak ada modul terkelola yang dideklarasikan dalam <modules> handler atau ASP.NET yang dideklarasikan di bagian dipanggil <handlers> ketika Kumpulan Aplikasi berjalan dalam Mode Terpadu.
Nama Modul: HttpCacheModule
Deskripsi: HttpCacheModule mengimplementasikan cache output IIS dan juga logika untuk penembolokan item di cache http.sys. Atur ukuran cache, profil cache output, dll. melalui konfigurasi.
Bagian konfigurasi: System.webServer/caching
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Konten tidak akan lagi di-cache dalam mode kernel. Profil cache diabaikan. Menghapus HttpCacheModule mungkin akan berdampak buruk pada performa dan penggunaan sumber daya.
Nama Modul: DynamicCompressionModule
Deskripsi: Menerapkan kompresi dalam memori konten dinamis.
Bagian konfigurasi: system.webServer/httpCompression dan system.webServer/urlCompression.
Dependensi: Tidak akan ada dependensi apa pun karena pemadatan Dinamis dinonaktifkan secara default.
Nama Modul: StaticCompressionModule
Deskripsi: Menerapkan kompresi (dalam memori serta persisten dalam sistem file) konten statis.
Bagian konfigurasi: system.webServer/httpCompression dan system.webServer/urlCompression
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Potensi kejenuhan Bandwidth karena konten yang tidak dikompresi dikirim kembali ke klien.
Nama Modul: DefaultDocumentModule
Deskripsi: Menerapkan fungsionalitas dokumen default. Permintaan yang masuk dengan trailing / akan dialihkan ke dokumen dalam daftar dokumen default.
Bagian konfigurasi: system.webServer/defaultDocument
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Permintaan ke /, misalnya http://localhost/, mengembalikan kesalahan 404. Jika direktoriBrowsing diaktifkan, daftar direktori akan dibuat.
Nama Modul: DirectoryListingModule
Deskripsi: Menerapkan fungsionalitas penjelajahan direktori.
Bagian konfigurasi: system.webServer/directoryBrowse
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Jika modul dokumen default maupun modul directoryListing tidak menangani permintaan untuk /, respons kosong akan kembali.
Nama Modul: ProtocolSupportModule
Deskripsi: Menerapkan header respons kustom dan pengalihan. Mengimplementasikan kata kerja HTTP pelacakan dan Opsi. Menerapkan dukungan yang memungkinkan atau menonaktifkan dukungan tetap aktif melalui konfigurasi.
Bagian konfigurasi: system.webServer/httpProtocol
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Permintaan TRACE atau OPTIONS mengembalikan pesan kesalahan "Metode 405 tidak diizinkan".
Nama Modul: HttpRedirectionModule
Deskripsi: Menerapkan fungsionalitas pengalihan.
Bagian konfigurasi: system.webServer/httpRedirect
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Potensi masalah keamanan jika sumber daya dilindungi oleh pengalihan. Saat modul Pengalihan dihapus, konten akan dapat diakses lagi.
Nama Modul: ServerSideIncludeModule
Deskripsi: Mengimplementasikan sisi server termasuk. Modul ini dipetakan sebagai handler, hanya dijalankan untuk permintaan yang berakhiran .stm, .shtm, dan .shtml.
Bagian konfigurasi: system.webServer/serverSideInclude
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Modul file statis menangani file handles.stm, .shtm, dan .shtml. Jika modul ini memiliki mimeMap untuk ekstensi ini, file akan dilayani sebagai teks. Namun, perhatikan bahwa ini bukan default.
Nama Modul: StaticFileModule
Deskripsi: Mengirim file statis dengan ekstensi file .html, .jpg, serta banyak lainnya. Kumpulan konfigurasi staticContent/mimeMap menentukan daftar ekstensi file.
Bagian konfigurasi: system.webServer/staticContent
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini File statis tidak lagi dilayani. Permintaan untuk file mengembalikan kesalahan 404 Tidak Ditemukan yang menunjukkan bahwa tidak ada handler yang cocok.
Nama Modul: AnonymousAuthenticationModule
Deskripsi: Menerapkan autentikasi anonim. Modul ini menghasilkan objek HttpUser jika URL dikonfigurasi untuk mengizinkan autentikasi anonim.
Bagian konfigurasi: system.webServer/security/authentication/anonymousAuthentication
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Setidaknya satu modul autentikasi harus dikonfigurasi. Inti server IIS memeriksa setelah fase autentikasi jika objek HttpUser diisi. Objek HttpUser adalah struktur data IIS. Kesalahan 401.2 menghasilkan jika tidak ada autentikasi yang mengisi objek HttpUser.
Nama Modul: CertificateMappingAuthenticationModule
Deskripsi: Peta sertifikat klien SSL ke akun Direktori Aktif (Pemetaan Sertifikat Direktori Aktif).
Bagian konfigurasi: system.webServer/security/authentication/clientCertificateMappingAuthentication
Dependensi: SSL harus dikonfigurasi agar modul ini berfungsi. Komputer IIS juga harus menjadi anggota domain Direktori Aktif.
Potensi masalah saat menghapus modul ini Permintaan biasanya diizinkan jika Pemetaan Sertifikat Direktori Aktif digunakan untuk melindungi direktori; dalam hal ini, modul dihapus.
Nama Modul: BasicAuthenticationModule
Deskripsi: menerapkan autentikasi HTTP Basic yang dijelaskan dalam RFC 2617.
Bagian konfigurasi: system.webServer/security/authentication/basicAuthentication
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Setidaknya satu modul autentikasi harus dikonfigurasi. Inti server IIS memeriksa setelah fase autentikasi jika objek HttpUser diisi. Objek HttpUser adalah struktur data IIS. Kesalahan 401.2 menghasilkan jika tidak ada autentikasi yang mengisi objek HttpUser.
Nama Modul: WindowsAuthenticationModule
Deskripsi: Menerapkan autentikasi Windows (NTLM atau Negosiasi (Kerberos)).
Bagian konfigurasi: system.webServer/security/authentication/windowsAuthentication
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Setidaknya satu modul autentikasi harus dikonfigurasi. Inti server IIS memeriksa setelah fase autentikasi jika objek HttpUser diisi. Objek HttpUser adalah struktur data IIS. Kesalahan 401.2 dihasilkan jika tidak ada autentikasi yang mengisi objek HttpUser.
Nama Modul: DigestAuthenticationModule
Deskripsi: Menerapkan autentikasi hash yang dijelaskan dalam RFC 2617.
Bagian konfigurasi: system.webServer/security/authentication/digestAuthentication
Dependensi: Server IIS harus menjadi bagian dari domain Direktori Aktif.
Potensi masalah saat menghapus modul ini Setidaknya satu modul autentikasi harus dikonfigurasi. Inti server IIS memeriksa setelah fase autentikasi jika objek HttpUser diisi. Objek HttpUser adalah struktur data IIS. Kesalahan 401.2 dihasilkan jika tidak ada autentikasi yang mengisi objek HttpUser.
Nama Modul: IISCertificateMappingAuthenticationModule
Deskripsi: Menerapkan pemetaan sertifikat IIS. Peta sertifikat klien SSL ke akun Windows. Bertentangan dengan pemetaan Sertifikat Direktori Aktif, kredensial pengguna, dan aturan pemetaan disimpan dalam penyimpanan konfigurasi IIS
Bagian konfigurasi: system.webServer/iisClientCertificateMappingAuthentication
Dependensi: SSL dengan persyaratan untuk menerima sertifikat klien harus dikonfigurasi agar modul ini berfungsi.
Potensi masalah saat menghapus modul ini Setidaknya satu modul autentikasi harus dikonfigurasi. Inti server IIS memeriksa setelah fase autentikasi jika objek HttpUser diisi. Objek HttpUser adalah struktur data IIS. Kesalahan 401.2 menghasilkan jika tidak ada autentikasi yang mengisi objek HttpUser.
Nama Modul: UrlAuthorizationModule
Deskripsi: Menerapkan otorisasi berdasarkan aturan konfigurasi.
Bagian konfigurasi: system.webServer/security/authorization
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Aturan otorisasi yang konten yang dilindungi tidak lagi dievaluasi. Konten yang seharusnya dilindungi mungkin dilayani.
Nama Modul: IsapiModule
Deskripsi: Menerapkan fungsionalitas Ekstensi ISAPI.
Bagian konfigurasi: system.webServer/isapiCgiRestriction
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Ekstensi ISAPI yang dipetakan di <handlers> bagian (modules="IsapiModule") atau secara eksplisit disebut Ekstensi ISAPI tidak akan berfungsi lagi.
Nama Modul: IsapiFilterModule
Deskripsi: Menerapkan fungsionalitas filter ISAPI.
Bagian konfigurasi: system.webServer/isapiFilters
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Filter ISAPI sering mengimplementasikan aplikasi fungsionalitas yang diandalkan. Contohnya adalah ASP.NET atau SharePoint. ASP.NET misalnya memerlukan aspnet_filter.dll untuk melindungi konten sensitif dan untuk menulis ulang URL. Menghapus modul ini mencegah IIS memuat filter ISAPI. Aplikasi mungkin berhenti bekerja atau konten sensitif mungkin terekspos.
Nama Modul: IpRestrictionModule
Deskripsi: Menerapkan skema otorisasi berdasarkan alamat IPv4 permintaan klien.
Bagian konfigurasi: system.webServer/security/ipSecurity
Dependensi: Tumpukan IPv4 harus diinstal.
Potensi masalah saat menghapus modul ini Klien dengan alamat IP pada daftar ipSecurity akan diizinkan.
Nama Modul: RequestFilteringModule
Deskripsi: Menerapkan serangkaian aturan keamanan yang kuat yang menolak permintaan mencurigakan pada tahap yang sangat awal. Modul ini adalah penerus filter ISAPI UrlScan.DLL yang dikirim untuk IIS 5.0 dan 6.0.
Bagian konfigurasi: system.webServer/security/requestFiltering
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Jika modul ini dihapus, aturan yang ditentukan di bagian requestFiltering tidak lagi berlaku. Potensi masalah keamanan dapat diakibatkan.
Nama Modul: CustomLoggingModule
Deskripsi: Mengimplementasikan antarmuka ILogPlugin di atas IIS. ILogPlugin adalah implementasi COM sebelumnya yang memungkinkan pelanggan untuk memperpanjang pengelogan IIS. Kami tidak menyarankan untuk memperluas IIS menggunakan antarmuka ini. Sebagai gantinya, pelanggan harus menulis modul dan berlangganan pemberitahuan RQ_LOG_REQUEST.
Bagian konfigurasi: system.webServer/httpLogging dan system.applicationhost/sites/site/logFile/customLogPluginClsid
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Plug-in log kustom tidak akan lagi dipanggil. Misalnya, Pengelogan ODBC diimplementasikan sebagai ILogPlugin.
Nama Modul: CustomErrorModule
Deskripsi: Menerapkan kesalahan kustom dan fitur kesalahan terperinci IIS.
Bagian konfigurasi: system.webServer/httpErrors
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini IIS mengembalikan halaman kosong dengan informasi minimal ketika kesalahan dalam server inti terjadi. Pengguna jarak jauh mungkin melihat informasi kesalahan terperinci yang berasal dari komponen server yang dapat mengakibatkan pengungkapan informasi.
Nama Modul: HttpLoggingModule
Deskripsi: Menerapkan pengelogan IIS standar dengan memberi tahu HTTP.SYS apa yang harus dicatat.
Bagian konfigurasi: system.applicationHost/log dan system.webServer/httpLogging
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Pengelogan IIS standar tidak akan berfungsi lagi.
Nama Modul: FailedRequestsTracingModule
Deskripsi: Menerapkan pelacakan permintaan yang gagal. Tentukan dan tetapkan aturan untuk permintaan yang gagal melalui konfigurasi.
Bagian konfigurasi: system.webServer/tracing dan system.webServer/httpTracing
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Melacak permintaan http tidak akan berfungsi lagi.
Nama Modul: RequestMonitorModule
Deskripsi: Mengimplementasikan IIS Run-time State and Control Interface (RSCA). RSCA memungkinkan pengguna untuk mengkueri informasi run-time seperti saat ini menjalankan permintaan, memulai/menghentikan status situs web, atau saat ini menjalankan domain aplikasi.
Bagian konfigurasi: Tidak ada.
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Alat tidak akan dapat menghitung permintaan yang sedang dijalankan.
Nama Modul: CgiModule
Deskripsi: Menerapkan CGI di atas IIS.
Bagian konfigurasi: system.webServer/cgi dan system.webServer/isapiCgiRestriction
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Program CGI akan berhenti berfungsi.
Nama Modul: TracingModule
Deskripsi: Menerapkan pelacakan ETW.
Bagian konfigurasi: system.webServer/httpTracing
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Pelacakan ETW tidak akan berfungsi jika modul ini dihapus.
Nama Modul: ConfigurationValidationModule
Deskripsi: Memvalidasi bahwa konfigurasi aplikasi ASP.NET telah dimigrasikan untuk bekerja dalam mode Terintegrasi.
Bagian konfigurasi: system.webServer/Validation
Dependensi: Tidak ada.
Potensi masalah saat menghapus modul ini Aplikasi yang menentukan konfigurasi ASP.NET warisan untuk modul dan handler tidak akan menghasilkan kesalahan migrasi; aplikasi baru yang belum dimigrasikan akan berfungsi dengan tidak benar.

Modul Terkelola:

Nama Modul: OutputCache
Deskripsi: Menerapkan fitur ASP.NET Output Caching.
Bagian konfigurasi: system.web/caching/outputCache
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini ASP.NET tidak akan dapat menghasilkan respons cache ke halaman yang dikonfigurasi untuk di-cache output.
Nama Modul: Sesi
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya
Bagian konfigurasi: system.web/sessionState
Dependensi: Modul ManagedEngine harus diinstal
Potensi masalah saat menghapus modul ini Status sesi terkelola tidak tersedia.
Nama Modul: WindowsAuthentication
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi: system.web/authentication
Dependensi: Modul ManagedEngine harus diinstal
Potensi masalah saat menghapus modul ini Kejadian WindowsAuthentication.OnAuthenticate tidak akan dinaikkan, yang dapat mencegah beberapa kode autentikasi ASP.NET kustom berjalan. Selain itu, pengguna yang diautentikasi tidak akan diganti dengan pengguna UNC saat berada di berbagi UNC (warisan ASP.NET perilaku). Modul ini tidak memengaruhi autentikasi NTLM/Kerberos untuk aplikasi ASP.NET dalam mode Terintegrasi, dan tidak diperlukan di luar peristiwa WindowsAuthentication.OnAuthenticate dan perilaku UNC warisan.
Nama Modul: FormsAuthentication
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi: system.web/authentication
Dependensi: Modul ManagedEngine harus diinstal
Potensi masalah saat menghapus modul ini ASP.NET fitur autentikasi berbasis formulir tidak akan tersedia, yang mengakibatkan klien dengan tiket autentikasi formulir tidak dapat mengakses sumber daya yang dilindungi.
Nama Modul: DefaultAuthentication
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi: system.web/authentication
Dependensi: Modul ManagedEngine harus diinstal
Potensi masalah saat menghapus modul ini Beberapa fitur ASP.NET mungkin tidak berfungsi untuk permintaan anonim jika mode autentikasi ASP.NET adalah Formulir. Selain itu, peristiwa DefaultAuthentication.OnAuthenticate tidak akan dinaikkan.
Nama Modul: RoleManager
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi: Tidak ada.
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini Fungsionalitas Manajer Peran tidak tersedia.
Nama Modul: UrlAuthorization
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya. Modul UrlAuthorization asli mengimplementasikan fungsionalitas otorisasi URL dalam kode asli. Ini menyediakan alternatif asli yang dapat diskalakan dan cepat untuk modul otorisasi URL terkelola.
Bagian konfigurasi: system.web/authorization.
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini ASP.NET aturan otorisasi akan diabaikan, mungkin mengakibatkan pengungkapan informasi dan penyusupan keamanan lainnya.
Nama Modul: AnonimIdentifikasi
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi:
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini Fitur identifikasi anonim yang digunakan oleh Profil ASP.NET tidak akan berfungsi.
Nama Modul: Profil
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi:
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini Fitur Profil ASP.NET tidak akan berfungsi.
Nama Modul: UrlMappingsModule
Deskripsi: Lihat dokumentasi ASP.NET 2.0 untuk detailnya.
Bagian konfigurasi:
Dependensi: Modul ManagedEngine harus diinstal.
Potensi masalah saat menghapus modul ini Pemetaan URL ASP.NET tidak akan berfungsi.