配置apache虚拟主机_第1页
配置apache虚拟主机_第2页
配置apache虚拟主机_第3页
配置apache虚拟主机_第4页
配置apache虚拟主机_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

配置apache虚拟主机通过下列文章:实现:同一ip不一致端口对应不一致的站点目录具体实现:然后在virtualhost中设置:DocumnetRoot1DocumnetRoot2我们通常所说的虚拟主机[url=javascript:;]技术[/url]就是将一台(或者者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都能够实现WWW、FTP、Mail等基本的Internet服务,就像使用独立的主机一样。目前网站服务器的虚拟主机平台使用以开放的Apache为最多,其次是微软的WindowsIIS。Apache具有跨平台(FreeBSD/Linux/Windows/Solaris/OtherUNIX)、易于保护与最佳安全性等优点。Apache是率先支持基于IP虚拟主机的服务器之一。Apache1.1及其更新版本同时支持基于IP与基于主机名的虚拟主机,不一致的虚拟主机有的时候会被称之基于主机(host-based)或者非IP虚拟主机(non-IPvirtualhosts)。用Apache设置虚拟主机服务通常能够使用两种方案:基于IP地址的虚拟主机与基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法与优缺点。以便大家在具体的应用中能够选择最合适的实现方法。一、Apache实现基于IP地址的虚拟主机(每个站点拥有一个独立IP地址)使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址能够通过增加多个网卡或者者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,能够使用下列两种方式之一来设置Apache。1、为每个虚拟主机运行一份Apache使用这种方式,每一份Apache程序能够以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就能够了,唯一需要注意的是:务必使用“Listen”语句,强制每一份Apache仅仅在属于“自己”的IP地址上接收服务请求。优点:各个虚拟主机之间互不干扰,安全性高。缺点:占用系统资源较多。2、多个虚拟主机共享同一份Apache使用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,特别是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:DocumentRoot/www/ghq1…优点:占用系统资源比上一种方式少。缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。Listen80DocumentRoot/www/ghq1DocumentRoot/www/ghq2“DocumentRoot”:指定apache服务器存放网页的根目录;“ServerName”:同意用户自行设置主机名,这个名称将被送到远程连接程序,以取代安装apache服务器主机的真实名称。与构成虚拟主机的语法结构,其中的IP就是我们在服务器上绑定的不一致的IP地址,也能够是IP地址加上通信端口号(见下面的例子)。Listen0:80Listen0:8080Listen0:80Listen0:8080DocumentRoot/www/ghq1-80DocumentRoot/www/ghq1-8080DocumentRoot/www/ghq2-80DocumentRoot/www/ghq2-8080因此,建立虚拟主机,我们要做好不一致的IP对应的域名解析[url=javascript:;]工作[/url],建立相应的目录(如/www/ghq1),将相应的主页内容存放在相应的目录中即可。二、Apache实现基于主机名的虚拟主机服务(一个IP地址实现多个网站)优点:只要一个IP地址就能够提供大量的虚拟主机服务。缺点:安全性差。保护这些虚拟主机时需要更换配置文件,同时需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。#EnsurethatApachelistensonport80Listen80#ListenforvirtualhostrequestsonallIPaddressesNameVirtualHost*DocumentRoot/www/ghq1#OtherdirectiveshereDocumentRoot/www/ghq2#Otherdirectiveshere当我们的IP地址无法确定的时候,使用*是很方便的--比如说,ISP给我们配置的是动态IP地址(如ADSL拨号上网),而我们有使用了某种动态域名解析系统时。由于*匹配任何IP地址,因此在这样的情况下,不论IP地址如何变化,我们都不需要另外进行配置。上述配置就是我们在绝大多数情况下使用基于域名的虚拟主机时将要用到的。关于DNS与Apache本文档的涵义一言以蔽之就是:不要让Apache在解析配置文件的时候用到DNS。假如Apache在解析配置文件时用到了DNS,您的服务器就会发生可靠性的问题(也可能根本无法启动),或者者遭致拒绝(偷窃)服务攻击(包含用户能够从其他用户那里偷窃点击)。一个简单示例拒绝服务"mainserver"地址避免这些问题的小技巧附录:进一步的提示一个简单示例ServerAdminwebgirl@abc.domDocumentRoot/www/abcServerAdminwebgirl@abc.domDocumentRoot/www/abc现在Apache需要DNS对这个虚拟主机进行反向域名解析来确定ServerName。假如反向解析失败,那么这将导致这个虚拟主机部分功能丧失。(在Apache的1.2版本之前,服务器将不能启动)。假如虚拟主机是基于域名的,它将完全不能使用,但假如它是基于IP的,那么它将很有可能工作。然而,假如Apache不得不为一个已经包含了服务器域名的服务器产生一个完整的URL,那么它将可能产生一个无效的URL。下列是一个能够避免上述两个问题的配置片断.ServerAdminwebgirl@abc.domDocumentRoot/www/abc拒绝服务另外一种形式就更隐蔽了。比如说下面这个配置片断:ServerAdminwebgirl@abc.domDocumentRoot/www/abcServerAdminwebguy@def.domDocumentRoot/www/def"mainserver"地址假如您担心这样的查找会由于您的DNS服务器没有启动而遭到失败的结果,您就能够在/etc/hosts中插入一条记录来确定主机名(此文件中应该已经存在这条记录了,否则您的机器无法正常启动)。然后,您要确认您的机器已经配置为当DNS解析失败的情况下,它将会使用/etc/hosts根据所使用的操作系统不一致,您可能需要在/etc/resolv.conf或者/etc/nsswitch.conf两个文件中选择一个进行编辑。假如您的服务器不必由于其他理由而使用DNS,您也许不必在把HOSTRESORDER环境变量设置为"local"的情况下运行Apache。这都取决于您所使用的操作系统与解析库。假如您没有使用mod_env来操纵环境变量,它还将影响到CGI。强烈建议您参考一下您所使用的操作系统附带的man帮助或者FAQ。避免这些问题的小技巧在VirtualHost中使用IP地址在Listen中使用IP地址确保所有的虚拟主机拥有显式的ServerName定义。创建一个不包含任何服务页面的服务器附录:进一步的提示涉及到DNS的情况都很让人不舒服。在Apache1.2中,我们努力想让服务器在DNS解析失败的情况下至少保持能够启动,但可能我们还是没能做到最好。在当今重编号成了务必的Internet上面,在配置文件中显式的写明IP地址已经成为不合时宜的行为了。上述盗窃攻击的解决办法是,在一个正向的DNS查询结果后部署一个逆向DNS解析并将两个域名进行比较。假如不一致,就禁用相应的虚拟主机。这个方法需要一个正确配置了的逆向域名解析服务器(由于FTP服务器与TCP封装进行的“双重逆向”DNS处理的普遍应用,这已为大部分管理员所熟知了)。在某些情况下,假如没有使用IP地址而DNS解析又失败了,那么正常启动一个基于域名的虚拟主机看来是不可能的。一些诸如禁用部分配置文件这样的权宜之计会带来比根本不能启动更遭的不可预测的结果。与用于封装一组仅施用于特定虚拟主机的指令。任何在虚拟主机配置中能够使用的指令也同样能够在这里使用。当服务器同意了一个特定虚拟主机的文档请求时,它会使用封装在配置段中的指令。地址能够是虚拟主机的IP地址;虚拟主机IP地址对应的完整域名;字符*,仅与NameVirtualHost*配合使用以匹配所有的IP地址;或者是字符串_default_,与基于IP的虚拟主机联用以捕获所是否具有匹配的IP地址。示例IPv6的地址务必放入方括号中指定,否则作为可选项的端口号将无法确定。一个IPv6的示比如下:每个虚拟主机务必对应不一致的IP地址、端口号或者是不一致的主机名。在第一种情况下,服务器所在物理机器务必配置为能够为多个地址同意IP包。(在机器没有多个网络硬件界面的情况下,假如您的操作系统支持,您能够使用ifconfigalias命令来达到这个目的。)。当使用基于IP的虚拟主机时,特殊的名称_default_能够在没有匹配上其它列出的虚拟主机的情况下作为匹配任何IP地址的虚拟主机。在没有进行_default_虚拟主机的设定时,在没有IP与请求匹配的情况下,将使用“主服务器”(包含所有在虚拟主机配置段之外的配置)的配置。(但请注意:任何匹配NameVirtualHost指令的IP地址既不可能使用"main"服务器配置,也不可能使用_default_虚拟主机的配置。参阅基于域名的虚拟主机文档获得更多详情。)您能够指定一个:端口来改变匹配的端口。假如没有指定,它将沿用主服务器中离它最近的那个Listen语句指定的值。您也能够指定:*来匹配那个地址上的所有端口。(当您使用_default_时,这是推荐使用的方法。)安全提示:参阅安全提示文档获得为什么当您存储[url=javascript:;]日志[/url]文件的目录关于启动服务器以外的用户来说是可写的会危及服务器安全的全面资料。注意:的使用不可能影响到Apache侦听的地址。您也许需要使用Listen来确保Apache侦听着正确的地址。本文有经典论坛剑气凌人收集整理为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法:方法一:IIS5,多IP下共存,IIS为,apache为原文地址c:\Inetpub\Adminscrīptscscrīptadsutil.vbssetw3svc/disablesocketpoolingtrue该命令反馈如下disablesocketpooling:(BOOLEAN)True重启IISInetpub\Adminscrīpts>cscrīptadsutil.vbssetw3svc/disablesocketpoolingtrue由于DisableSocketPooling在IIS6.0元[url=javascript:;]数据库[/url]方法二:IIS6,多IP下共存,IIS为,apache为原文地址命令行即命令使用IIS的只监听指定的IP及端口命令行netstopApache2netstopiisadmin/ynetSTARTApache2netSTARTw3svc方法三:网上常用的单IP共用80端口方法,只是不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。LoadModuleproxy_modulemodules/mod_proxy.soLoadModuleproxy_connect_modulemodules/mod_proxy_connect.soLoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so然后建立一个虚拟主机,将该域名的所有访问转向81端口。ServerNameProxyPass/localhostProxyPassReverse/localhost这样,对外就能够只需要一个端口,即可同时使用apache与II

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论