📄 00000011.htm
字号:
<Directory /home/*/public_html> <BR> <BR> AllowOverride FileInfo AuthConfig Limit <BR> <BR> Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <BR> <BR> <Limit GET POST OPTIONS PROPFIND> <BR> <BR> Order allow,deny <BR> <BR> Allow from all <BR> <BR> </Limit> <BR> <BR> <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> <BR> <BR> Order deny,allow <BR> <BR> Deny from all <BR> <BR> </Limit> <BR> <BR> </Directory> <BR> <BR> 这个有什么用处?UserDir是一个特殊的选项,用来在用户的宿主目录下设置主页,比 <BR>如,有一个名字叫wanghy的用户,其宿主目录是/home/wanghy,而且UserDir象我们刚才 <BR>那样设定,那么,你可以在浏览器中输入<A HREF="http://www.mydomain.com/~wanghy,它将对应">http://www.mydomain.com/~wanghy,它将对应</A> <BR>的是宿主目录+UserDir,也就是/home/wanghy/public_html。当然,为了使这个功能生 <BR>效,你得将这个目录设置为大家都可以读。(现在知道<A HREF="http://xxx.net/~yourname是怎">http://xxx.net/~yourname是怎</A> <BR>么回事了吧,:PP) <BR> <BR> 下面的行就是对这个功能的限制,注意要使得某人的这个功能生效,必须有这个段落 <BR>,这个段落里别的东西都是熟知的,唯一新的东西是Limit段,它用来提供存取限制,例 <BR>如<Limit GET POST>对应的段落设置GET和POST权限,诸如此类。上面的段落表示所有人 <BR>都可以通过www进行GET和POST,而任何人都不能PUT和DELETE、MOVE等等。 <BR> <BR> Limit <BR> <BR> 对某个路径进行存取限制。 <BR> <BR> 6.3.2 proxy系统 <BR> <BR> Proxy就是代理,简单地说,客户机器把请求转发给服务器,服务器代替客户机器进行 <BR>Internet访问,将访问回来的结果再回送给客户机。通常我们说的Proxy有好几种,工作 <BR>方式也不同。例如,最常用的Proxy方式是服务器打开一个端口,在这个端口上接受客户 <BR>的请求,然后自己代替客户机器进行访问。这种方法不需要在客户端安装特殊的软件, <BR>一般的浏览器都可以支持这种功能,缺陷是只能代理标准的一些服务,如WWW,FTP等等; <BR>另外一种方法是在客户端安装专用的软件,然后应用软件通过这个代理工具提供的接口 <BR>与服务器联系;当然还有另一种最简单的办法就是IP伪装。我们这里介绍的Proxy是第一 <BR>种,即Apache本身提供的Proxy系统。这个代理系统可以将代替服务器取得的内容在服务 <BR>器硬盘上存贮起来,以后再有客户访问的时候可以直接从硬盘上取回,因此可以节省网 <BR>络流量并加快客户的访问速度。 <BR> <BR> 要启动Apache的Proxy倒是非常的简单,只要在httpd.conf里面加上这样几行: <BR> <BR> ProxyRequest ON <BR> <BR> Listen 8080 <BR> <BR> CacheRoot /var/cache <BR> <BR> 然后在你的客户浏览器(比如IE)里面将代理服务器设置成你的Apache机器,端口号 <BR>8080就可以了。不过这时的Proxy由于Cache太小没有什么实际意义,我们现在来看一看 <BR>和Proxy相关的设置,按照我们的习惯,只列出有趣的内容: <BR> <BR> ProxyRequest <BR> <BR> 它的值为ON的时候,启动Proxy功能 <BR> <BR> ProxyRemote <BR> <BR> 级联Proxy。例如你已经有了一个proxy1.mydomain.com的Proxy服务器,现在想让pro <BR>xy2.mydomain.com来直接用proxy1代理,可以使用 <BR> <BR> ProxyRemote <A HREF="http://proxy1.domain.com:8080">http://proxy1.domain.com:8080</A> <BR> <BR> ProxyPass <BR> <BR> 这个选项的意思比较古怪。例如你有一台www.mydomain.com的apache服务机器,另外 <BR>还有一个www2.mydomain.com也是个www服务器,然后你加上一行 <BR> <BR> ProxyPass /www2/ <A HREF="http://www2.mydomain.com/">http://www2.mydomain.com/</A> <BR> <BR> 那么以后访问<A HREF="http://www.mydomain.com/www2/就会直接将请求转发给www2,www2目">http://www.mydomain.com/www2/就会直接将请求转发给www2,www2目</A> <BR>录看上去是一个本地映像。(这个到底有什么用处?你就当找个乐子吧) <BR> <BR> ProxyBlock <BR> <BR> 一个有点恶心的功能,用来阻挡到某些站点的访问,例如ProxyBlock someone.com s <BR>omefool.com将会断掉*.somefool.com,someone.com甚至someone.com.cn的访问。这里 <BR>的字符串都是匹配子串的方式使用的。 <BR> <BR> NoProxy <BR> <BR> 设置你对哪些站点的内容不使用Proxy。通常你显然不愿对同一局域网内的东西进行代 <BR>理,所以这个选项一般总是列出你自己内部网的地址。在它的地址列表里面可以使用同 <BR>配符和子网的形式,例如: <BR> <BR> NoProxy .mydomain.com 192.168.12.0/24 <BR> <BR> ProxyVia <BR> <BR> 这个选项表示是否在返回内容中说明已经使用了代理,如果你使用级联代理,需要把 <BR>它设置成ON。 <BR> <BR> 例如 <BR> <BR> ProxyVia on <BR> <BR> CacheForceCompletion <BR> <BR> 这个选项用来设置一种特殊情况,就是客户的请求快要完成的时候却取消了,服务器 <BR>是否应该将未传完的内容保存,这个选项取一个0到100之间的数字,一般取为70,意思 <BR>是传递量超过70%的页面就应该缓冲。例如: <BR> <BR> CacheForceCompletion 70 <BR> <BR> CacheRoot <BR> <BR> 存放缓存文件的位置,例如: <BR> <BR> CacheRoot /var/cache <BR> <BR> CacheSize <BR> <BR> 允许使用多少硬盘空间作为Cache。单位是KB。例如 <BR> <BR> CacheSize 200000 <BR> <BR> CacheGcInterval <BR> <BR> 每隔一段时间,Apache会检查cache目录,删除超过Cache空间的文件以便释放硬盘空 <BR>间。单位是小时,例如 <BR> <BR> CacheGcInterval 24 <BR> <BR> CacheMaxExpire <BR> <BR> 最大的Cache有效期。如果Cache中的文件的存放时间已经超过了这个有效期,那么再 <BR>访问这个页面的时候,apache将重新去下载对应页面。 <BR> <BR> CacheLastModifiedFactor <BR> <BR> 很难说清这个选项的含义,缺省的值是0.1,你只要按照这个值设置就没有问题了。例 <BR>如 <BR> <BR> CacheLastModifiedFactor 0.1 <BR> <BR> CacheDefaultExpire <BR> <BR> 对于那些不支持内容有效期的协议,使用这个值作为缺省的有效期,例如 <BR> <BR> CacheDefaultExpire 1 <BR> <BR> NoCache <BR> <BR> 类似于NoProxy和ProxyBlock,定义一个不进行本地缓存的列表,例如 <BR> <BR> NoCache Freemail.263.net <BR> <BR> Listen <BR> <BR> 缺省的http和Proxy服务端口是80和8080。但是你可以定义一些其他的端口接收信息, <BR>例如 <BR> <BR> Listen 8080 <BR> <BR> Listen 8081 <BR> <BR> Listen 192.168.12.21:8080 <BR> <BR> 这个选项在做端口虚拟主机的时候也有用。 <BR> <BR> <BR> 6.3.3 虚拟主机 <BR> <BR> 随着Apache的流行,虚拟主机已经变得没有那么神秘了。流行的虚拟主机有几种,例 <BR>如,对每个虚拟主机分配一个IP,或者是一个主机端口,当然更好的方法是分配一个IP <BR>对应多个域名,然后根据域名来提供正确的相应。 <BR> <BR> 做一个基于IP的虚拟主机是最简单的。按照我们在前面提出的办法,给你的Apache服 <BR>务器提供几个IP,例如192.168.1.2,192.168.1.3,。。。,然后对每一个IP使用一个 <BR>这样的段落: <BR> <BR> <VirtualHost 192.168.1.2> <BR> <BR> DocumentRoot /home/httpd/html/www1/doc <BR> <BR> ServerName www1.yourdomain.com <BR> <BR> ScriptAlias /cgi-bin/ /home/httpd/html/www1/cgi-bin <BR> <BR> </VirtualHost> <BR> <BR> 以后浏览192.168.1.2的内容就是/home/httpd/html/www1/doc/index.html的内容了。 <BR>有几个虚拟主机,就写上几个VirtualHost段落,注意这时候主机也必须是一个Virtual <BR>Host。 <BR> <BR> 在VirtualHost段落中,ErrorLog,CustomLog,DocumentRoot,ServerName,Script <BR>Alias和ServerAdmin选项仍然可以使用,而User和Group选项必须SuEXEC附加模块的支持 <BR>。 <BR> <BR> 然后要明确地启动Listen,例如: <BR> <BR> Listen 192.168.1.2:80 <BR> <BR> Listen 192.168.1.3:80 <BR> <BR> 每个地址Listen一次,这样就可以使用虚拟主机了。 <BR> <BR> 也可以使用端口虚拟主机,不过我认为这意义不大,因为客户必须明确地给出服务器 <BR>的运行端口。 <BR> <BR> IP虚拟主机实际并不是一个特别好的功能,因为它需要为每一个虚拟主机提供一个IP <BR>别名,对于IP地址比较紧张的商业单位,名字虚拟主机通常更有意义。 <BR> <BR> 名字虚拟主机是为一个IP地址分配若干个域名记录,例如192.168.1.2可以同时设置为 <BR>www1.mydomain.com,www2.domain.com,等等,也就是在域名解析记录中写上: <BR> <BR> www1 IN A 192.168.1.2 <BR> <BR> www2 IN A 192.168.1.2 <BR> <BR> 而在域名的反向查询文件中加上对应的PTR记录: <BR> <BR> 2 IN PTR www1.mydomain.com. <BR> <BR> 2 IN PTR www2.mydomain.com <BR> <BR> 然后,根据对不同名字的请求,服务器将发回不同的页面。 <BR> <BR> 要实现这个功能,假定你已经完成了DNS记录的设置,然后只要在httpd.conf中加入这 <BR>样的一行: <BR> <BR> NameVirtualHost 192.168.1.2:80 <BR> <BR> 这一行告诉服务器把192.168.1.2当成一个名字虚拟主机。然后,可以类似地设置虚拟 <BR>主机目录,只是这个时候需要使用的是名字来标示虚拟主机: <BR> <BR> <VirtualHost www1.mydomain.com> <BR> <BR> DocumentRoot /home/httpd/html/www1/doc <BR> <BR> ServerName www1.yourdomain.com <BR> <BR> ScriptAlias /cgi-bin/ /home/httpd/html/www1/cgi-bin <BR> <BR> </VirtualHost> <BR> <BR> 这样就定义了一个名字虚拟主机。其他的虚拟主机入口可以同样地设置。 <BR> <BR> 注意:如果你要使用名字虚拟主机,那么请记住:你需要用A记录定义多个主机名字, <BR>而不是用CNAME来建立别名。CNAME建立的名字实际访问的时候仍然是原来的名字。 <BR> <BR> 6.3.4 身份控制 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -