


在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規則詳解