Lab 4.5 Cấu hình Virtual host trên Nginx

  • Thread starter Thread starter root
  • Ngày gửi Ngày gửi

root

Specialist
I. Mô hình


II. Cấu hình
1. Trên DNS server
- Ở đây bạn có thể sử dụng Windows làm DNS cũng được. Do Linux nhẹ nên mình sẽ dùng Linux làm DNS server và kết hợp được với các bài lab trước
- Tạo 2 zone "svuit.com" và "svuit.org"
[root@ns1 named]# vi /etc/named.conf


//================== zone svuit.com =================//
zone "svuit.com" IN {
type master;
file "svuit.db1";
allow-transfer { 10.2.2.20;};
};

zone "2.2.10.in-addr.arpa" {
type master;
file "2.2.10.in-addr.arpa.db1";
allow-transfer { 10.2.2.20;};
};

//================== zone svuit.org ================//
zone "svuit.org" IN {
type master;
file "svuit.db2";
allow-transfer { 10.2.2.20;};
};

zone "2.2.10.in-addr.arpa2" {
type master;
file "2.2.10.in-addr.arpa.db2";
allow-transfer { 10.2.2.20;};
};
//========================================================//
- Cấu hình phân giải thuận "svuit.db1" và "svuit.db2"
Mã:
[root@ns1 named]# [B]vi /var/named/svuit.db1 [/B]

$TTL    86400
@       IN      SOA     ns1.svuit.com. root     (
        43              ; serial (d. adams)
        3H              ; refresh
        15M             ; retry
        1W              ; expiry
        1D )            ; minimum
                IN      NS      ns1.svuit.com.
                IN      NS      ns2.svuit.com.
                IN      MX 10   server3
server3 1D      IN      A       10.2.2.3
ns1     1D      IN      A       10.2.2.2
ns2     1D      IN      A       10.2.2.20
server1 1D      IN      A       10.2.2.1
www     1D      IN      CNAME   server3
mail    1D      IN      CNAME   server3
ftp     1D      IN      CNAME   server3
Mã:
[root@ns1 named]#[B] vi /var/named/svuit.db2[/B]

$TTL    86400
@       IN      SOA     ns1.svuit.org. root     (
        43              ; serial (d. adams)
        3H              ; refresh
        15M             ; retry
        1W              ; expiry
        1D )            ; minimum
                IN      NS      ns1.svuit.org.
                IN      NS      ns2.svuit.org.
                IN      MX 10   server3
server3 1D      IN      A       10.2.2.3
ns1     1D      IN      A       10.2.2.2
ns2     1D      IN      A       10.2.2.20
server1 1D      IN      A       10.2.2.1
www     1D      IN      CNAME   server3
mail    1D      IN      CNAME   server3
ftp     1D      IN      CNAME   server3

- Phân giải nghịch
Mã:
[root@ns1 named]# [B]vi 2.2.10.in-addr.arpa.db1[/B]
$TTL 86400
@       IN      SOA     ns1.svuit.com.  root. (
                      3 ; serial
                      28800 ; refresh
                      7200 ; retry
                      604800 ; expire
                      86400 ; ttk
                      )

@       IN      Ns      ns1.svuit.com.
@       IN      Ns      ns2.svuit.com.
1       IN      PTR     server1.svuit.com.
2       IN      PTR     ns1.svuit.com.
20      IN      PTR     ns2.svuit.com.
3       IN      PTR     server3.svuit.com.
Mã:
[root@ns1 named]# [B]vi 2.2.10.in-addr.arpa.db2
[/B]
$TTL 86400
@       IN      SOA     ns1.svuit.org.  root. (
                      3 ; serial
                      28800 ; refresh
                      7200 ; retry
                      604800 ; expire
                      86400 ; ttk
                      )

@       IN      Ns      ns1.svuit.org.
@       IN      Ns      ns2.svuit.org.
1       IN      PTR     server1.svuit.org.
2       IN      PTR     ns1.svuit.org.
20      IN      PTR     ns2.svuit.org.
3       IN      PTR     server3.svuit.org.
- Khởi động lại dịch vụ named và tắt firewall
[TABLE="class: outer_border, width: 500"]
[TR]
[TD][root@ns1 named]# service named restart
[root@ns1 named]# service iptables stop[/TD]
[/TR]
[/TABLE]

2. Cấu hình Virtual host
- Virtual host là tính năng giúp tạo ra nhiều host trên 1 máy chủ web với các doamin name khác nhau.
- Ví dụ
  • svuit.com sẽ có host lưu trong /etc/svuit.com/
  • svuit.org có host lưu trong /etc/svuit.org/
- Để thực hiện được điều này, mỗi host cần 1 file chứa các thông tin về server name, đường dẫn …

2.1 Tạo virtual host svuit.com
[TABLE="class: outer_border, width: 500"]
[TR]
[TD][root@svuit conf.d]# mkdir /etc/svuit.com/[root@svuit svuit.com]# cp /etc/svuit.org/default.conf /etc/svuit.com/[/TD]
[/TR]
[/TABLE]
[root@svuit svuit.com]# vi svuit.com.conf

server {
listen 80;
server_name www.svuit.com;

#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;

location / {
root /etc/svuit.com;
index index.html;
}

- Tạo file index.html
[root@svuit svuit.com]# vi index.html

<h1> Welcome to Svuit.com </h1>

- Tạo 1 Symbolic link
[TABLE="class: outer_border, width: 800"]
[TR]
[TD]root@svuit svuit.org]# ln -s /etc/svuit.com/svuit.com.conf /etc/nginx/conf.d/svuit.com.conf[/TD]
[/TR]
[/TABLE]

2.2 Tạo virtual host svuit.org
- Tượng tự như svuit.com mìn sẽ tạo ra virtual host svuit.org
[TABLE="class: outer_border, width: 500"]
[TR]
[TD][root@svuit conf.d]# mkdir /etc/svuit.org/[root@svuit svuit.com]# cp /etc/svuit.org/default.conf /etc/svuit.org/[/TD]
[/TR]
[/TABLE]
[root@svuit svuit.com]# vi svuit.com.conf

server {
listen 80;
server_name www.svuit.org;

#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;

location / {
root /etc/svuit.org;
index index.html;
}

- Tạo file index.html
[root@svuit svuit.com]# vi index.html

<h1> Welcome to Svuit.org </h1>

- Tạo 1 Symbolic link
[TABLE="class: outer_border, width: 800"]
[TR]
[TD]root@svuit svuit.org]# ln -s /etc/svuit.org/svuit.org.conf /etc/nginx/conf.d/svuit.org.conf[/TD]
[/TR]
[/TABLE]


- Khởi động lại server nginx, tắt firewall (hoặc mở port 80 cho nó)
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]service nginx restart
service iptables stop[/TD]
[/TR]
[/TABLE]


3. Test
- Bạn dùng PC trỏ DNS về DNS server 10.2.2.2 và thực hiện truy cập webserver với 2 domain "svuit.com" và "svuit.org". Ban sẽ thấy 2 domain chạy qua 2 host khác nhau nên load file index.html khác nhau

 
Back
Top