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

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

[[email protected]]#/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的整合):


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
#虚拟主机IP
#  General setup for the virtual host
DocumentRoot "C:/Apache/htdocs" #根目录
ServerName www.ilinux.com.cn:443 #虚拟主机域名.没有的可以直接用IP
ServerAdmin [email protected]
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

    SSLOptions +StdEnvVars


    SSLOptions +StdEnvVars

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"
                                 

 

      

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

      


    Include conf/ssl.conf

以上标签同样是我在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的能力远不止于此,更多的功能还需要大家在使用过程中加以领会和应用。

你可能感兴趣的:(WEB服务器)