Menerbitkan aplikasi ASP.NET Core ke IIS
Tutorial ini menunjukkan cara menghosting aplikasi ASP.NET Core di server IIS.
Tutorial ini mencakup subjek berikut:
- Instal .NET Core Hosting Bundle di Windows Server.
- Buat situs IIS di Manajer IIS.
- Menyebarkan aplikasi ASP.NET Core.
Prasyarat
- .NET Core SDK diinstal pada komputer pengembangan.
- Windows Server dikonfigurasi dengan peran server Server Web (IIS). Jika server Anda tidak dikonfigurasi untuk menghosting situs web dengan IIS, ikuti panduan di bagian konfigurasi IIS dari artikel Host ASP.NET Core di Windows dengan IIS lalu kembali ke tutorial ini.
Peringatan
Konfigurasi IIS dan keamanan situs web melibatkan konsep yang tidak tercakup dalam tutorial ini. Lihat panduan IIS dalam dokumentasi Microsoft IIS dan artikel ASP.NET Core tentang hosting dengan IIS sebelum menghosting aplikasi produksi di IIS.
Skenario penting untuk hosting IIS yang tidak tercakup dalam tutorial ini meliputi:
- Pembuatan sarang registri untuk Perlindungan Data Inti ASP.NET
- Konfigurasi Daftar Kontrol Akses (ACL) kumpulan aplikasi
- Untuk fokus pada konsep penyebaran IIS, tutorial ini menyebarkan aplikasi tanpa keamanan HTTPS yang dikonfigurasi di IIS. Untuk informasi selengkapnya tentang menghosting aplikasi yang diaktifkan untuk protokol HTTPS, lihat topik keamanan di bagian Sumber daya tambahan di artikel ini. Panduan lebih lanjut untuk menghosting aplikasi ASP.NET Core disediakan di artikel Host ASP.NET Core di Windows dengan IIS .
Memasang .NET Core Hosting Bundle
Instal .NET Core Hosting Bundle di server IIS. Bundel memasang .NET Core Runtime, .NET Core Library, dan ASP.NET Core Module. Modul ini memungkinkan aplikasi ASP.NET Core berjalan di belakang IIS.
Unduh alat penginstal menggunakan tautan berikut:
Alat penginstal .NET Core Hosting Bundle saat ini (unduh langsung)
Jalankan alat penginstal di server IIS.
Mulai ulang server atau jalankan
net stop was /y
diikuti dengannet start w3svc
dalam shell perintah.
Membuat situs IIS
Di server IIS, buat folder untuk berisi folder dan file aplikasi yang diterbitkan. Pada langkah berikut, jalur folder disediakan ke IIS sebagai jalur fisik ke aplikasi. Untuk informasi lebih lanjut tentang folder penyebaran dan tata letak file aplikasi, lihat Struktur direktori ASP.NET Core.
Di Manajer IIS, buka node server di panel Koneksi. Klik kanan folder Situs. Pilih Tambahkan Situs Web dari menu kontekstual.
Berikan Nama situs dan atur jalur Fisik ke folder penyebaran aplikasi yang Anda buat. Berikan konfigurasi Pengikatan dan buat situs web dengan memilih OK.
Peringatan
Pengikatan wildcard tingkat atas (
http://*:80/
danhttp://+:80
) tidak boleh digunakan. Pengikatan wildcard tingkat atas dapat mengekspos aplikasi Anda terhadap kerentanan keamanan. Ini berlaku untuk wildcard kuat dan lemah. Gunakan nama host eksplisit alih-alih wildcard. Pengikatan wildcard subdomain (misalnya,*.mysub.com
) tidak memiliki risiko keamanan ini jika Anda mengontrol seluruh domain induk (alih-alih*.com
, yang rentan). Lihat RFC 9110: Semantik HTTP (Bagian 7.2. Host dan :authority) untuk informasi lebih lanjut.Konfirmasikan model identity proses memiliki izin yang tepat.
Jika default identity kumpulan aplikasi (Model Proses) diubah dari
ApplicationPoolIdentity
ke yangIdentity> lainidentity, verifikasi bahwa yang baru identity memiliki izin yang diperlukan untuk mengakses folder aplikasi, database, dan sumber daya lain yang diperlukan. Misalnya, kelompok aplikasi memerlukan akses baca dan tulis ke folder tempat aplikasi membaca dan menulis file.
Membuat aplikasi ASP.NET Core Razor Pages
Ikuti tutorial Mulai menggunakan ASP.NET Core untuk membuat Razor aplikasi Pages.
Menerbitkan dan menyebarkan aplikasi
Menerbitkan aplikasi berarti menghasilkan aplikasi yang dikompilasi yang dapat dihosting oleh server. Menyebarkan aplikasi berarti memindahkan aplikasi yang diterbitkan ke sistem hosting. Langkah penerbitan ditangani oleh .NET Core SDK, sementara langkah penyebaran dapat ditangani oleh berbagai pendekatan. Tutorial ini mengadopsi pendekatan penyebaran folder , di mana:
- Aplikasi diterbitkan ke folder.
- Konten folder dipindahkan ke folder situs IIS ( jalur Fisik ke situs di Manajer IIS).
- Klik kanan proyek di Penjelajah Solusi dan pilih Terbitkan.
- Dalam dialog Pilih target penerbitan, pilih opsi Terbitkan folder.
- Atur jalur Folder atau Berbagi File.
- Jika Anda membuat folder untuk situs IIS yang tersedia di komputer pengembangan sebagai berbagi jaringan, berikan jalur ke berbagi. Pengguna saat ini harus memiliki akses tulis untuk menerbitkan ke berbagi.
- Jika Anda tidak dapat menyebarkan langsung ke folder situs IIS di server IIS, terbitkan ke folder di media yang dapat dilepas dan pindahkan aplikasi yang diterbitkan secara fisik ke folder situs IIS di server, yang merupakan jalur Fisik situs di IIS Manager. Pindahkan konten
bin/Release/{TARGET FRAMEWORK}/publish
folder ke folder situs IIS di server, yang merupakan jalur Fisik situs di Manajer IIS.
- Klik tombol Terbitkan.
Telusuri situs web
Aplikasi ini dapat diakses di browser setelah menerima permintaan pertama. Buat permintaan ke aplikasi di pengikatan titik akhir yang Anda tetapkan di Manajer IIS untuk situs tersebut.
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara:
- Instal .NET Core Hosting Bundle di Windows Server.
- Buat situs IIS di Manajer IIS.
- Menyebarkan aplikasi ASP.NET Core.
Untuk mempelajari selengkapnya tentang menghosting aplikasi ASP.NET Core di IIS, lihat artikel Gambaran Umum IIS:
Sumber Daya Tambahan:
Artikel dalam kumpulan dokumentasi ASP.NET Core
- ASP.NET Core Module (ANCM) untuk IIS
- Struktur direktori ASP.NET Core
- Memecahkan masalah ASP.NET Core pada Azure App Service dan IIS
- Menerapkan HTTPS di ASP.NET Core
- WebSocket di IIS
Artikel yang berkaitan dengan penyebaran aplikasi ASP.NET Core
- Menerbitkan aplikasi ASP.NET Core ke Azure dengan Visual Studio
- Menerbitkan aplikasi ASP.NET Core ke Azure dengan Visual Studio Code
- Profil penerbitan Visual Studio (.pubxml) untuk penyebaran aplikasi ASP.NET Core
Artikel tentang konfigurasi HTTPS IIS
Artikel tentang IIS dan Windows Server
Sumber daya penyebaran untuk administrator IIS
- Dokumentasi IIS
- Mulai Menggunakan Manajer IIS di IIS
- Penyebaran aplikasi .NET Core
- ASP.NET Core Module (ANCM) untuk IIS
- Struktur direktori ASP.NET Core
- Modul IIS dengan ASP.NET Core
- Memecahkan masalah ASP.NET Core pada Azure App Service dan IIS
- Pemecahan masalah kesalahan umum untuk Azure App Service dan IIS dengan ASP.NET Core
- Sesi lekat dengan Perutean Permintaan Aplikasi
ASP.NET Core