在apache配置文件中使用IfDefine
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 配置文件 使用 IfDefine
新文章:
- CentOS7下图形配置网络的方法
- CentOS 7如何添加删除用户
- 如何解决centos7双系统后丢失windows启动项
- CentOS单网卡如何批量添加不同IP段
- CentOS下iconv命令的介绍
- Centos7 SSH密钥登陆及密码密钥双重验证详解
- CentOS 7.1添加删除用户的方法
- CentOS查找/扫描局域网打印机IP讲解
- CentOS7使用hostapd实现无AP模式的详解
- su命令不能切换root的解决方法
- 解决VMware下CentOS7网络重启出错
- 解决Centos7双系统后丢失windows启动项
- CentOS下如何避免文件覆盖
- CentOS7和CentOS6系统有什么不同呢
- Centos 6.6默认iptable规则详解