在apache配置文件中使用IfDefine以及IfModule指令来快速更改配置

原创 2006年06月13日 01:21:00

Apache允许使用IfDefine以及IfModule指令来快速而且更容易的更改配置。使用IfDefine以及IfModule标签后,无需更改http.conf文件即可以快速的更改运行中的Apache得配置。IfDefine标签允许在命令行中使用某个标志来指定某些配置选项是否出于启用状态,如:

[root@ilinux.com.cn]#/usr/local/apache2/bin/apachectl –D SSL

       这个命令就将启用apache配置文件中一个名为SSL的标志。也即将启用如下标签中的配置部分.(详细内容见我的另一篇文章WINDOW环境下Apache-2.0.58+mod_ssl+mod_jk-2.0.55+Tomcat-5.5.16的整合):

<IfDefine SSL>
Listen 443 #监听443端口
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin

SSLSessionCache         dbm:logs/ssl-scache.log
SSLSessionCacheTimeout  300

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
<VirtualHost 192.168.0.134:443> #虚拟主机IP
#  General setup for the virtual host
DocumentRoot "C:/Apache/htdocs" #根目录
ServerName www.ilinux.com.cn:443 #虚拟主机域名.没有的可以直接用IP
ServerAdmin forlinux@hotmail.com
ErrorLog logs/SSL.log
TransferLog logs/ssl_access.log

SSLEngine on #启用SSL,必须

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

SSLCertificateFile conf/ssl/server.crt
#SSLCertificateFile conf/ssl.crt/server-dsa.crt

SSLCertificateKeyFile conf/ssl/server.key

#SSLVerifyClient require
#SSLVerifyDepth  10
<Files ~ "/.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "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>

 

      

       IfModuole标签具有类似的效果,其作用是先检查当前模块是否已经加载,若已经加载,则标签中的配置有效,若没有加载,则标签中的配置无效。

      

<IfModule mod_ssl.c>
    Include conf/ssl.conf
</IfModule>

以上标签同样是我在WINDOW环境下Apache-2.0.58+mod_ssl+mod_jk-2.0.55+Tomcat-5.5.16的整合一文中用到的其作用就是先检测是否启用了mod_ssl模块,若启用了,就包含conf/ssl.conf文件。这样做的好处是,若我想禁止mod_ssl,只需要注释如下一行:

#LoadModule ssl_module modules/mod_ssl.so

       怎么样,用这两个配置指令,蛮方便的吧。当然Apache的能力远不止于此,更多的功能还需要大家在使用过程中加以领会和应用。

相关文章推荐

apache主要配置详解

1. # Deny access to the entirety of your server's filesystem. You must # explicitly permit acc...

apache的IfDefine和IfModule设置

指令 说明 封装一组只有在启动时当测试结果为真时才生效的指令  语法 ...   作用域 server config, virtual host, directory, .htaccess  ...
  • klarclm
  • klarclm
  • 2012年07月25日 11:31
  • 9603

apache学习三配置文件

1、主配置文件讲解 grep -Ev "#|^$" httpd.conf >httpd.conf.ori     排除注释和空行 vi httpd.conf.ori ServerRoot "/s...

Apache 的 httpd.conf 详解(很实用)

ServerRoot “/usr/local“        ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定...

Apache的配置详解,最好的Apache配置文档。

Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。  主站点的配置(基本配置)  (1) 基本配置:  ServerRoot "/mn...

apache+openssl设置https单向认证和双向认证以及反向代理

闲话少说,下面介绍企业在项目开发过程中需要使用自己申请的域名通过https(单向或双向认证)访问应用服务器的实现方式。 1、域名申请,这个应该it人都知道。自己上网申请免费的,或者付费的域名。申请域名...

Apache整合Tomcat详解系列(二)Apache Tomcat https应用

一、总结前一天的学习 在前一天的学习中我们知道、了解并掌握了Web Server结合App Server是怎么样的一种架构,并且亲手通过Apache的Http Server与Tomcat6进行了...

apache配置文件

  • 2013年10月17日 09:00
  • 18KB
  • 下载

APACHE配置文件中文详解

  • 2009年05月21日 16:44
  • 108KB
  • 下载

Apache配置文件中的deny和allow的使用

Apache配置文件中的deny和allow的使用     由于产品的需要,最近在配置apache的负载均衡功能,但是在配置虚拟主机的访问权限的时候我们遇到了一些问题。主要问题是deny和allow的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在apache配置文件中使用IfDefine以及IfModule指令来快速更改配置
举报原因:
原因补充:

(最多只允许输入30个字)