2022年apache虚拟主机 2.pdf
《2022年apache虚拟主机 2.pdf》由会员分享,可在线阅读,更多相关《2022年apache虚拟主机 2.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、:同一 ip 不同端口对应不同的站点目录具体实现:1.在 httpd.conf 中,设置 listen IP:80 listen IP:8080 然后在 virtualhost 中设置:DocumnetRoot 1 DocumnetRoot 2 我们通常所说的虚拟主机url=javascript:; 技术 /url 就是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现 WWW 、FTP、 Mail 等基本的Internet 服务,就像使用独立的主机一样。目前网站服务器的虚拟主机平台使用
2、以开放的Apache 为最多,其次是微软的Windows IIS。Apache 具有跨平台( FreeBSD/Linux/Windows/Solaris/Other UNIX) 、易于维护与最佳安全性等优点。Apache 是率先支持基于IP 虚拟主机的服务器之一。Apache 1.1 及其更新版本同时支持基于 IP 和基于主机名的虚拟主机,不同的虚拟主机有时会被称为基于主机(host-based) 或非IP 虚拟主机 (non-IP virtual hosts) 。用 Apache 设置虚拟主机服务通常可以采用两种方案:基于 IP 地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它
3、们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。一、 Apache 实现基于IP 地址的虚拟主机(每个站点拥有一个独立IP 地址 ) 使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP 地址。这些 IP 地址可以通过增加多个网卡或者在一个网卡上设立多个IP 地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache。1、为每个虚拟主机运行一份Apache 采用这种方式,每一份Apache 程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache 设置一套配置文件就可以了,唯一需要注意的是:必须
4、使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP 地址上接收服务请求。优点:各个虚拟主机之间互不干扰,安全性高。缺点:占用系统资源较多。2、多个虚拟主机共享同一份Apache 采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI 程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:DocumentRoot /www/ghq1 优点:占用系统资源比上一种方式少。缺点:安全性低,每个虚拟主机仍然需要占用一个IP 地址。名师资料总结 - - -精品资料欢迎下载 - - - -
5、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 例如服务器一个网卡上绑定有两个IP 地址( 172.16.3.40 和 172.16.3.50)分别对应域名 和 www.ghq2.org 的服务,配置如下:服务器配置(apache的配置文件httpd.conf )Listen 80 DocumentRoot /www/ghq1 ServerName DocumentRoot /www/ghq2 ServerName www.ghq2.org 配置简单说明: “Listen”默认http
6、d 服务会监控第80 号通信端口,“Listen”选项让用户自行指定apache 服务器监控的IP 地址或通信端口。“DocumentRoot” :指定 apache 服务器存放网页的根目录;“ServerName” :允许用户自行设置主机名,这个名称将被送到远程连接程序,以取代安装apache 服务器主机的真实名称。和构成虚拟主机的语法结构,其中的IP 就是我们在服务器上绑定的不同的IP 地址,也可以是IP 地址加上通信端口号(见下面的例子)。如果服务器有两个IP 地址( 172.16.3.40 和 172.16.3.50)分别对应域名和 www.ghq2.org 。对每个域名,我们都希望在
7、80 端口和 8080 端口发布我们的网站。可以这样配置:服务器配置(apache的配置文件httpd.conf )Listen 172.16.3.40:80 Listen 172.16.3.40:8080 Listen 172.16.3.50:80 Listen 172.16.3.50:8080 DocumentRoot /www/ghq1-80 ServerName DocumentRoot /www/ghq1-8080 ServerName DocumentRoot /www/ghq2-80 ServerName www.ghq1.org DocumentRoot /www/ghq2-8
8、080 ServerName www.ghq2.org 因此,建立虚拟主机,我们要做好不同的IP 对应的域名解析名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - url=javascript:; 工作 /url ,建立相应的目录(如/www/ghq1 ) ,将相应的主页内容存放在相应的目录中即可。二、 Apache 实现基于主机名的虚拟主机服务(一个 IP 地址实现多个网站) 基于主机名字的虚拟主机服务,是目前虚拟主机比较常用的一
9、种方案。因为它不需要更多的 IP 地址,无须什么特殊的软硬件支持。而且现在的浏览器大都支持这种虚拟主机的实现方法。基于域名的的虚拟主机是根据客户端提交的HTTP 头中的关于主机名的部分决定的。使用这种技术,很多虚拟主机可以享用同一个IP 地址。基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS 服务器将每个主机名映射( CNAMES )到正确的IP 地址,然后配置Apache HTTP 服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP 地址( IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI 程序运行时,安全性也不高。优点:只要一个I
10、P 地址就可以提供大量的虚拟主机服务。缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。如果服务器只有一个IP 地址,而在DNS 中有很多映射到这个机器。我们想要在这个机器上运行 和 www.ghq2.org 两个站点。在 Apache 服务器的配置中创建一个虚拟主机并不会自动在DNS 中对主机名做相应更新。我们必须自己在DNS 中添加域名来指向我们的IP 地址。否则别人是无法看到我们的web 站点。服务器配置(apache的配置文件httpd.conf )# Ensure that Apache listens
11、 on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost * DocumentRoot /www/ghq1 ServerName # Other directives here DocumentRoot /www/ghq2 ServerName www.ghq2.org # Other directives here 因为 *(星号)匹配所有的地址,所以主服务器不接收任何请求。因为首先出现在配置文件中,所以它拥有最高优先级,可以认为是默认或首要服务器。这意味着如果一个
12、接受的请求不能与某个ServerName 指令相匹配,它将会由第一个VirtualHost 所伺服。当我们的IP 地址无法确定的时候,使用* 是很方便的 -比如说,ISP 给我们配置的是动态 IP 地址(如ADSL 拨号上网),而我们有使用了某种动态域名解析系统时。因为*匹配任何 IP 地址,所以在这样的情况下,不论IP 地址如何变化,我们都不需要另外进行配置。上述配置就是我们在绝大多数情况下使用基于域名的虚拟主机时将要用到的。关于 DNS 和 Apache 本文档的涵义一言以蔽之就是:不要让Apache 在解析配置文件的时候用到DNS 。 如果名师资料总结 - - -精品资料欢迎下载 - -
13、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - Apache 在解析配置文件时用到了DNS, 您的服务器就会发生可靠性的问题(也可能根本无法启动 ), 或者遭致拒绝(偷窃 )服务攻击 (包括用户可以从其他用户那里偷窃点击)。一个简单示例拒绝服务main server 地址避免这些问题的小技巧附录:进一步的提示一个简单示例ServerAdmin webgirlabc.dom DocumentRoot /www/abc 为了让 Apache 功能正常,一个虚拟主机绝对需要以下两部
14、分的信息:ServerName 和与服务器对应的至少一个IP 地址。这个示例没有包括IP 地址,于是Apache 必须用 DNS 来查询 www.abc.dom 的地址。如果在某些不可预料的情况下,当您的服务器解析配置文件时没有得到 DNS 的支持,那么这个虚拟主机将不会被配置。它将不会对任何请求作出反应。(在 Apache 的 1.2 版本之前,服务器甚至无法启动)。假设 www.abc.dom 的 IP 地址是 10.0.0.1。那么看看以下这个配置片断:ServerAdmin webgirlabc.dom DocumentRoot /www/abc 现在 Apache 需要 DNS 对这
15、个虚拟主机进行反向域名解析来确定ServerName。 如果反向解析失败,那么这将导致这个虚拟主机部分功能丧失。(在 Apache 的 1.2 版本之前,服务器将不能启动 )。如果虚拟主机是基于域名的,它将完全不能使用,但如果它是基于IP 的,那么它将很有可能工作。然而,如果Apache 不得不为一个已经包含了服务器域名的服务器产生一个完整的URL , 那么它将可能产生一个无效的URL 。以下是一个可以避免上述两个问题的配置片断. ServerName www.abc.dom ServerAdmin webgirlabc.dom DocumentRoot /www/abc 拒绝服务拒绝服务主要
16、由(至少 )两种形式导致。如果您在运行Apache 1.2 以前的版本,在上述两种情况下,如果您的任何一个虚拟主机的DNS 解析失败,您都会无法启动服务。在一些情况下, DNS 解析甚至不在您的控制范围之内。比如说,如果abc.dom 是您的一个客户,而且他们自己控制着DNS。 那么仅仅是因为他们删除了www.abc.dom 这个记录,都会导致您的服务器 (1.2 之前的版本 )无法启动。另外一种形式就更隐蔽了。比如说下面这个配置片断:ServerAdmin webgirlabc.dom DocumentRoot /www/abc 名师资料总结 - - -精品资料欢迎下载 - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年apache虚拟主机 2022 apache 虚拟主机
限制150内