• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Apache服务器配置全攻略(八)

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网 作者:王波

用于设置访问控制的设置主要是针对目录和文件进行设置的,然而也可以针对不同的URL进行访问控制的设置,这样就不必担心ScriptAlias、Alias是否将路径设置到了受控制的目录之外了。针对URL进行控制的语句为 Location语句,这样不但能对服务器上的文件、CGI提供保护,此外,它还能保护不能找到对应文件,而是由服务器本身提供的特殊功能URL。http://servername/server-status用于报告当前Apache服务器的状态,http://servername/server-info用于报告Apache 服务器的统计信息。与此相关的设置还有ExtendedStatus参数,可以让服务器输出更详细的的报告。


#

#ProxyRequests On

#

#

# Order deny,allow

# Deny from all

# Allow from .your_domain.com

#

#ProxyVia On

#CacheRoot "/www/proxy"

#CacheSize 5

#CacheGcInterval 4

#CacheMaxExpire 24

#CacheLastModifiedFactor 0.1

#CacheDefaultExpire 1

#NoCache a_domain.com another_domain.edu joes.garage_sale.com


#


  Apache服务器本身就具备代理的功能,然而这要求加载入mod_proxy模块。这能使用IfModule语句进行判断,如果存在mod_proxy模块,就使用ProxyRequests打开代理支持。此后的Directory用于设置对Proxy功能的访问权限设置,以及用于设置缓冲的各个参数设置。




#NameVirtualHost 12.34.56.78:80

#NameVirtualHost 12.34.56.78

#

# ServerAdmin webmaster@host.some_domain.com

# DocumentRoot /www/docs/host.some_domain.com

# ServerName host.some_domain.com

# ErrorLog logs/host.some_domain.com-error_log

# CustomLog logs/host.some_domain.com-access_log common

#


#


  缺省设置文件中的这些内容是用于设置命名基础的服务器时使用。

其中NameVirtualHost 来指定使用的IP地址,这个IP地址将对应多个 DNS名字,如果Apache使用了Listen 参数控制了多个端口,那么就可以在这里加上端口号以进一步进行区分对不同端口的不同连接请求。此后,使用 VirtualHost 语句,使用NameVirtualHost指定的IP地址作参数,对每个名字都定义对应的设置。

  是在一台Web服务器上,可以为多个单独域名提供Web服务,并且每个域名都完全独立,包括具有完全独立的文档目录结构及设置,这样域名之间完全独立,不但使用每个域名访问到的内容完全独立,并且使用另一个域名无法访

问其他域名提供的网页内容。

  的概念对于ISP来讲非常有用,因为虽然一个组织可以将自己的网页挂在具备其他域名的服务器上的下级往址上,但使用独立的域名和根网址更为正式,易为众人接受。传统上,必须自己设立一台服务器才能达到单独域名的目的,然而这需要维护一个单独的服务器,很多小单位缺乏足够的维护能力,更为合适的方式是租用别人维护的服务器。ISP也没有必要为一个机构提供一个单独的服务器,完全可以使用能力,使服务器为多个域名提供Web服务,而且不同的服务互不干扰,对外就表现为多个不同的服务器。

  有两种设定的方式,一种是基于HTTP 1.0标准,需要一个具备多IP

地址的服务器,再配置DNS 服务器,给每个IP地址以不同的域名,最后才能配置Apache的配置文件,使服务器对不同域名返回不同的Web文档。由于这需要使用额外的IP地址,对每个要提供服务的域名都要使用单独的IP地址,因此这种方式实现起来问题较多。

  可以在一个网络界面上绑定多个IP地址,Linux下需要使用ifconfig的 alias参数来进行这个配置,但此时会影响网络性能

  HTTP 1.1标准在协议中规定了对浏览器和服务器通信时,服务器能够跟踪浏

览器请求的是哪个主机名字。因此可以利用这个新特性,使用更轻松的方式设定

。这种方式不需要额外的IP地址,但需要新版本的浏览器支持。这种方式已经成为建立的标准方式。

  要建立非IP基础的,多个域名是不可少的配置,因为每个域名就对

应一个要服务的。因此需要更改DNS服务器的配置,为服务器增加多个C NAME选项,如:


linux IN A 192.168.1.64

vhost1 IN CNAME linux

vhost2 IN CNAME linux


 基本的设置选项都是为了linux主机设定的,如果要为vhost1和vhost2设定

,就要使用VirtualHost语句定义不同的选项,在语句中可以使用配置文件前面中的大部分选项,而可以重新定义几乎所有的针对服务器的设置。


NameVirtualHost 192.168.1.64


DocumentRoot /www/data

ServerName linux.example.org.cn


DocumentRoot /vhost1

ServerName vhost1.example.org.cn


DocumentRoot /vhost2

ServerName vhost2.example.org.cn


  这里需要注意的是,VirtualHost的参数地址一定要和NameVirtualHost定义的地址相一致,必须保证所有的值严格一致,Apache服务器才承认这些定义是为这个IP地址定义的。

  此外,定义过NameVirtualHost之后,那么对这个IP地址的访问都被区分不同的进行处理,而对其他IP地址的访问,例如127.0.0.1,才应用前面定义的缺省选项。

<全文完>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网