Linux下虚拟域名的实现

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。

一、DNS服务器的设置

我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的。因此要想实现虚拟域名首先应当令DNS 服务器接受该虚拟域名,即把它映射到指定的IP地址上。因为我们靠Web服务器来区分域名,所以这个IP地址自然应当是Web服务器所管理的。

RedHat6.0操作系统中捆绑有BIND DNS服务器。它的域名配置文件是"/etc/named.conf",一般情况下,域配置文件放在"/var/named"目录下面。

例1、named.conf文件的配置:

zone "domain.com" {

type master;

file "domain.com";

};

zone "0.10.10.in-addr.arpa" {

type master;

file "10.10.0";

};

该例子说明"domain.com"的域配置文件是"/var/named/domain.com",反向域的配置文件是"/var/named/10.10.0"。domain.com文件负责把DNS域名映射为IP地址。

例2、domain.com文件配置:

@ IN SOA dns.domain.com. hostmaster.dns.domain.com. (

1998111003 ; serial

3600 ; refresh

900 ; retry

1209600 ; expire

43200 ; default_ttl

)

@ IN MX 10 dns.domain.com.

@ IN NS dns.domain.com.

@ IN A 10.10.0.1

www IN A 10.10.0.1

假定要增加的域名是aaa.domain.com,想要指到www.domain.com,DNS服务中应增加一个别名记录,可写成:

aaa IN CNAME www.domain.com.

如果需要配置大量的虚拟域名,domain.com文件要很大,而且也相当麻烦。我们可以使用符号 "*" ,即在 domain.com 文件中加入:

* IN CNAME www.domain.com.

这样它就把所有没给出设置的以domain.com结尾的记录全部转到www.domain.com去了,不管是aaa.domain.com还是bbb.domain.com。这不会影响已有的记录。配置好DNS服务器后应该重新启动守护进程named:

[root@domain /root]# /etc/rc.d/init.d/named restart

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。

二、Apache服务器的配置

Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点。RedHat 6.0捆绑了 Apache Web Server 1.3。它的配置文件位于"/etc/httpd/conf"目录下,有httpd.conf、srm.conf、 access.conf,下面讨论一下与虚拟域名有关的配置:

1、静态配置

修改配置文件 httpd.conf 的步骤:

(1) 首先设置UseCanonicalName为off。它指示用服务器Host:header的内容代替ServerName 的值来提供给环境变量SERVER_NAME。

(2) 然后加入:

NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx为所要配置的虚拟服务器的IP地址。在此可配置多个虚拟IP地址,当然要与DNS服务器中的配置一致。(注意:这里要用IP地址,不能用域名。)

(3) 接下来为每个虚拟域名加入一段记录:

< virtualhost xxx.xxx.xxx.xxx>

.....

< /virtualhost>

xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在两个标志之间可加入的配置参数有:

ServerName后面跟你要增加的虚拟域名,如aaa.domain.com ;

Documentroot如果你映射到本机的路径就加在后面,如"/home/aaa" ;

redirect如果你映射到远端的URL可加在后面,有两个参数,第一个是虚拟域名的相对路径,第二个是远端站点的URL;

ServerAlias后可加入本域名的别名,可使用通配符,如*.aaa.domain.com 。

下面举两个例子:

例3、映射到本机的物理路径:

< virtualhost xxx.xxx.xxx.xxx>

DocumentRoot "/home/test"

ServerName test.domain.com

< virtualhost>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航