Virtual host dựa trên IP là phương pháp ứng dụng trong những trường hợp máy chủ có nhiều địa chỉ IP hoặc một vài trường hợp Virtual host dựa trên tên là không thuận tiện, bởi vì nhiều Virtual host đều chia sẻ chung 1 địa chỉ Ip và 1 port.
Từ đặc điểm trên, khi sử dụng cách này máy chủ phải có nhiều Port và địa chỉ IP. Điều này có thể thực hiện trên máy có nhiều interface vật lý hoặc logic.
Khi xây dựng IP-based virtual hosting chúng ta có 2 cách làm như sau: Cách 1: Sử dụng nhiều daemon (tiến trình thường trú khi khởi động httpd) - Sử dụng cách này khi Virtual host cần phân vùng bảo mật. Ví dụ, như company1 không muốn bất cứ ai tại company2 để có thể đọc dữ liệu của họ, ngoại trừ thông qua web. Trong trường hợp này bạn sẽ cần hai daemon, mỗi daemon sẽ chạy với tài khoản, nhóm, Listen và các thiết lập ServerRoot khác nhau.
- Để tạo nhiều daemon ta làm như sau:
+ Tạo một cài đặt httpd riêng biệt cho mỗi máy chủ. Đối với mỗi cài đặt, sử dụng các chỉ thị Listen trong file cấu hình để chọn địa chỉ IP (hoặc máy chủ ảo) là các dịch vụ daemon. Ví dụ: Listen 192.168.1.1:80
Cách 2: Sử dụng 1 daemon
- Sử dụng cách này khi chúng ta chia sẻ cấu hình httpd giữa các virtual host với nhau và khi máy chủ vật lý có một số lượng lớn các yêu cầu thì việc chạy nhiều daemon có thể làm giảm hiệu suất hoạt động.
40
+ Đối với cách này, một httpd duy nhất sẽ phục vụ các yêu cầu cho máy chủ chính và tất cả các máy ảo. Chỉ thị VirtualHost trong file cấu hình được sử dụng để thiết lập các giá trị của ServerAdmin, ServerName, DocumentRoot, ErrorLog và CustomLog, TransferLog khác nhau cho mỗi máy chủ ảo.
Ví dụ: <VirtualHost 172.20.30.40:80> ServerAdmin webmaster@www1.example.com DocumentRoot /www/vhosts/www1 ServerName www1.example.com ErrorLog /www/logs/www1/error_log
CustomLog /www/logs/www1/access_log combined </VirtualHost> <VirtualHost 172.20.30.50:80> ServerAdmin webmaster@www2.example.org DocumentRoot /www/vhosts/www2 ServerName www2.example.org ErrorLog /www/logs/www2/error_log
CustomLog /www/logs/www2/access_log combined </VirtualHost>
Cấu hình Virtual host có địa chỉ IP hoặc cổng cụ thể đều có ưu tiên hơn các cấu hình máy chủ cơ sở.[17]