Pemfilteran host dengan server web ASP.NET Core Kestrel
Meskipun Kestrel mendukung konfigurasi berdasarkan awalan seperti http://example.com:5000
, Kestrel sebagian besar mengabaikan nama host. Host localhost
adalah kasus khusus yang digunakan untuk mengikat ke alamat loopback. Host apa pun selain alamat IP eksplisit mengikat semua alamat IP publik. Host
header tidak divalidasi.
Sebagai solusinya, gunakan Middleware Pemfilteran Host. Middleware ditambahkan oleh CreateDefaultBuilder, yang memanggil AddHostFiltering:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Middleware Pemfilteran Host dinonaktifkan secara default. Untuk mengaktifkan middleware, tentukan AllowedHosts
kunci di/appsettings.json
appsettings.{Environment}.json
. Nilainya adalah daftar nama host yang dibatasi titik koma tanpa nomor port:
appsettings.json
:
{
"AllowedHosts": "example.com;localhost"
}
Catatan
Middleware Header yang Diteruskan juga memiliki AllowedHosts opsi. Middleware Header yang Diteruskan dan Middleware Pemfilteran Host memiliki fungsionalitas serupa untuk skenario yang berbeda. Pengaturan AllowedHosts
dengan Middleware Header yang Diteruskan sesuai saat Host
header tidak dipertahankan saat meneruskan permintaan dengan server proksi terbalik atau load balancer. Pengaturan AllowedHosts
dengan Middleware Pemfilteran Host sesuai ketika Kestrel digunakan sebagai server tepi yang menghadap publik atau ketika Host
header langsung diteruskan.
Untuk informasi selengkapnya tentang Middleware Header yang Diteruskan, lihat Mengonfigurasi ASP.NET Core untuk bekerja dengan server proksi dan load balancer.
ASP.NET Core
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk