Trong apache2 theo thiết kế, mọi yêu cầu http với Máy chủ không xác định sẽ được chuyển đến Virtualhost được tải đầu tiên. Có cách nào để vô hiệu hóa tính năng này? Nói cách khác, tôi muốn có một máy chủ web nơi người dùng chỉ có thể nhận được các định nghĩa Virtualhost được đặt tên rõ ràng. Bất kỳ tên máy chủ nào khác không được đề cập rõ ràng trong dòng ServerName hoặc ServerAlias sẽ bị bỏ qua trong âm thầm.
Điều này có thể không?
Listen 80
NameVirtualHost *
<VirtualHost _default_:*>
# Anything matching this host should be silently ignored.
</VirtualHost>
<VirtualHost *>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
<VirtualHost *>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>
Cập nhật: Như được đề xuất bên dưới và các nơi khác, âm thầm bỏ qua một yêu cầu có thể không phải là một ý tưởng hay và có lẽ phá vỡ RFC cho HTTP. Tuy nhiên, do các máy chủ ảo được thiết kế để mô phỏng có nhiều máy chủ HTTP vật lý riêng biệt, nên cách tiếp cận bỏ qua im lặng dường như không hợp lý với tôi. Nó sẽ giống như lưu trữ ảo dựa trên IP và tường lửa một số IP (có lẽ không dành cho tất cả các máy khách).