Apache什么情况下用什么?

选择使用文件系统容器<Directory>还是使用网络空间容器<Location>其实很简单。当指令应该作用于文件系统时,总是用<Directory>或者<Files>;而当指令作用于不存在于文件系统的对象时,就用<Location>,比如一个由数据库生成的网页。

不要试图用<Location>去限制对文件系统中对象的访问,因为许多不同的网络空间路径可能会映射到同一个文件系统目录,导致你的访问限制被突破。比如:

<Location /dir/>

Order allow,deny

Deny from all

</Location>

上述配置对http://yoursite.example.com/dir/请求的确起作用。但是设想在一个不区分大小写的文件系统中,这个访问限制会被http://yoursite.example.com/DIR/请求轻易突破。而<Directory>指令才会真正作用于对这个位置的任何形式的请求。(但是有一个例外,就是Unix文件系统中的连接,符号连接可以使同一个目录出现在文件系统中的多个位置。<Directory>指令能不经过重置路径名而跟随符号连接,因此,对于安全要求最高的,应该用Options指令禁止对符号连接的跟随。)

不要认为使用大小写敏感的文件系统就无所谓了,因为有很多方法会将不同的网络空间路径映射为同一个文件系统路径,所以,能使用文件系统容器时就应该使用。但是,也有一个例外,就是,把访问限制放在<Location/>段中可以很安全地作用于除了某些特定的以外所有的URL。

///////////////////

代理

<Proxy>和<ProxyMatch>容器中的指令仅作用于指定URL所匹配的通过mod_proxy的代理服务器访问的站点。下例中的配置会拒绝通过代理服务器访问cnn.com站点。

<Proxy http://cnn.com/*>

Order allow,deny

Deny from all

</Proxy>

///////////////////

NameVirtualHost 61.132.74.9

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

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

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

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

///////////////////

<IfDefine HAVE_SSL>

AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl    .crl

</IfDefine>

<IfModule mod_ssl.c>

SSLPassPhraseDialog builtin

SSLSessionCache         dbm:logs/ssl_scache

SSLSessionCacheTimeout 300

SSLMutex file:logs/ssl_mutex

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

SSLLog      logs/ssl_engine_log

SSLLogLevel error

</IfModule>

<IfDefine HAVE_SSL>

<VirtualHost _default_:443>

ErrorLog logs/error_log

TransferLog logs/access_log

SSLEngine on

ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">

SSLOptions +StdEnvVars

</Files>

<Directory "/var/web/www/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

</IfDefine>

时间: 2025-01-25 16:27:31

Apache什么情况下用什么?的相关文章

PHP+Apache在Win9x下的安装和配置

apache 在PHP邮件列表中问得最多的问题可能就是:"如何在我的Windows机器上安装PHP?",那么也许我可以帮助回答这个问题.当你正确安装完成后,你会发现在Windows下开发PHP程序还是不错的. 本教程的目的是向你展示如何用"Apache和Windows"的组合来开发PHP程序. 教程中如未指明具体版本,则PHP为PHP3或PHP4 Beta 2或3,Apache为 1.3.x. 一.安装Apache 首先,你须要一个WEB服务器,我推荐Apache.

HBase在单Column和多Column情况下批量Put的性能对比分析

针对HBase在单column family单column qualifier和单column family多column qualifier两种场景下,分别批量Put写入时的性能对比情况,下面是结合HBase的源码来简单分析解释这一现象. 1. 测试结果 在客户端批量写入时,单列族单列模式和单列族多列模式的TPS和RPC次数相差很大,以客户端10个线程,开启WAL的两种模式下的测试数据为例, 单列族单列模式下TPS能够达到12403.87,实际RPC次数为53次: 单列族多列模式下,TPS只有

在我路径书写正确的情况下报以下的错,求解。谢谢啦

问题描述 在我路径书写正确的情况下报以下的错,求解.谢谢啦 HTTP Status 404 - /taidiea/WEB-INF/view/dialog/ErrorPage500.jsp type Status report message /taidiea/WEB-INF/view/dialog/ErrorPage500.jsp description The requested resource is not available. Apache Tomcat/7.0.40 解决方案 好好想一

如何在不增加投入的情况下让你的数据库快上200倍

几乎每个人都在以这样或那样的方式抱怨数据库的性能问题,数据库管理员和程序员时常要面临服务器资源不够用或数据库查询一直执行不完的情况.这些情况对我们来说太正常不过了. 解决办法多种多样,最典型的一种就是把枪口指向查询语句,并谴责程序员没能写出高效的查询.他们本可以使用恰当的索引和物化视图,或者写出更好的查询.你需要增加更多的节点来缓解这些压力.在某些情况下,你的服务器因执行太多低效的查询而过载,你会考虑为不同的查询设置不同的优先级,这样那些紧急的查询(比如CEO要求的查询)可以得到优先处理.如果你

apache在win2003下的安全设置方法_win服务器

如果web服务器的所有资源都在本地系统上,这样做会问题比较少,但是将会具有很 大的安全 权限来影响本地机器,因此千万不能开启System帐号的网络权限! 于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限): 2.打开开始->管理工具->本地安全策略,在用户权限分配中选择"作为服务登陆",添加ap

什么情况下会用EJB?

问题描述 可能是比较老的问题了.我目前的水平还理解,用过EJB的,能不能结合你的项目说说使用EJB后,和不用EJB相比,都带来了哪些好处?在网上查,很多说为了分布式,集群,问题又来了,什么情况下需要分布式呢?Apache+Tomcat也可以做集群啊?(我也没做过,网上看的).知道的来说说吧,好长时间都没弄清楚的问题.. 解决方案 在设计J2EE应用时,最重要的设计决策之一是用不用EJB,EJB常常被理解为J2EE的核心,但这是不正确的说法,其实EJB只是J2EE提供给我们的选择之一.它在某个领域

PHP通过加锁实现并发情况下抢码功能_php实例

需求:抢码功能 要求: 1.特定时间段才开放抢码: 2.每个时间段放开的码是有限的: 3.每个码不允许重复: 实现: 1.在不考虑并发的情况下实现: function get_code($len){ $CHAR_ARR = array('1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','X','Y','Z','W','S','R','T')

apache在win2003下的安全设置(配合文件夹权限目录,很好很安全)_Linux

于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限): 2.打开开始->管理工具->本地安全策略,在用户权限分配中选择"作为服务登陆",添加apache用 户: 3.计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查

对于大数据大流量情况下微软架构的水平扩展的遐想(瞎想)

最近回顾SAAS的书籍,书中的扩展架构都有点让我痴迷,但书中介绍的都是以Java,Apache,JBoss,Hadloop等技术实现负载均衡,大数据处理,对于微软架构并未提及,所以让我陷入无限遐想,夜不能眠啊.今天的文章纯属瞎想,有错的不要批评,大家一起讨论就可以了. 对于大数据处理来说,要解决的问题: 1.web服务器的负载均衡 2.web服务器的水平扩展 3.数据库的分库处理 4.数据库读写分离 5.数据库的水平扩展 大概的架构: (没什么工具,用word画的,丑了点,哈) 在大数据,大流量