2012-03-14 42 views
0

我已經在apache2中使用反向代理+ Mod安全設置了虛擬主機配置。 但它重疊,它不會在重新啓動apache2時給出任何錯誤,但第二個 虛擬主機配置與第一個虛擬主機配置重疊。使用ReverseProxy + ModSecurity的Apache中的VirtualHost配置

第一個工作正常。

我的虛擬主機配置情況如下:

NameVirtualHost 192.168.1.101:80 
<VirtualHost 192.168.1.101:80> 

ServerName 124.125.252.31 

DocumentRoot /var/www 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyRequests Off 

ProxyPass /asd http://124.125.252.31/ 
ProxyPassReverse /asd http://124.125.252.31/ 

<Location /asd> 
Order deny,allow 
Allow from all 
</Location> 

Include /etc/apache2/rules/modsecurity_crs_10_config.conf 
Include /etc/apache2/rules/base_rules/*.conf 

</VirtualHost> 


<VirtualHost 192.168.1.101:80> 

ServerName 124.125.252.32 

DocumentRoot /var/www 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyRequests Off 

ProxyPass /qwe http://124.125.252.32/ 
ProxyPassReverse /qwe http://124.125.252.32/ 

<Location /qwe> 
Order deny,allow 
Allow from all 
</Location> 

Include /etc/apache2/rules/modsecurity_crs_10_config.conf 
Include /etc/apache2/rules/base_rules/*.conf 

</VirtualHost> 

回答

0

根據最新的ModSecurity參考手冊,在Configuration Directives部分:

大多數ModSecurity的指令可以在各種 內部使用Apache Scope指令,例如VirtualHost,Location,LocationMatch, Directory等等。然而,還有其他的,只能在主配置文件中使用 一次。該信息在 下面的範圍部分中指定。下面的版本部分給出了使用給定指令 的第一個版本。這些規則以及 核心規則文件應該包含在httpd.conf文件的 以外的文件中,並使用Apache「Include」指令進行調用。

我猜測,從配置以下行應該從你的主httpd.conf文件中直接包含:

Include /etc/apache2/rules/modsecurity_crs_10_config.conf 

而且我猜測,下面的行可以在你的虛擬主機插入:

Include /etc/apache2/rules/base_rules/*.conf 

但我可能是錯的。只是this online crs_10_config example中的一些指令的範圍被指定爲「Main」而不是「Any」(例如SecComponentSignature僅命名一個)。

是什麼讓你意識到它們重疊?你有沒有登錄?