Page 1 of 1

Block access by country ip (on virtual host) SOLVED

PostPosted: 10. November 2008 19:28
by ninostar
Hello,

I have two domains and I'm using virtual host configuration file. I would like to block certain countries. Currently I use configuration below, as I want to block only one web site... however this blocks my both web sites?!

How can I enable blocking on only one web site?!

Code: Select all
<VirtualHost *:80>
   DocumentRoot /www/mydomain1.com
   ServerName mydomain1.com
   ServerAlias www.mydomain1.com
</VirtualHost>

<Directory "C:/www">
   Order allow,deny
   allow from all

</Directory>

###

<VirtualHost *:80>
   DocumentRoot /www/mydomain2.com
   ServerName mydomain2.com
   ServerAlias www.mydomain2.com
</VirtualHost>

<Directory "C:/www">
   Order allow,deny
   allow from all

deny from xx.xx.xxx.xxx
deny from xxx.xxx.xxx.xxx

</Directory>

PostPosted: 10. November 2008 19:34
by Wiedmann
Currently I use configuration below, as I want to block only one web site... however this blocks my both web sites?!

Make your configuration inside the VirtualHost block.

PostPosted: 10. November 2008 19:53
by ninostar
I use this configuration in file httpd-vhosts.conf... did you mean this file?!

PostPosted: 10. November 2008 19:57
by Wiedmann
Code: Select all
<VirtualHost *:80>
...
</VirtualHost>

That's a VirtualHost block. And I mean inside such a block.

PostPosted: 10. November 2008 20:23
by ninostar
Now, the apache service doesn't starts??? See the changed code below... did I do something wrong?

<VirtualHost *:80>
DocumentRoot /www/mydomain2.com
ServerName mydomain2.com
ServerAlias www.mydomain2.com

deny from xx.xx.xxx.xxx
deny from xxx.xxx.xxx.xxx

</VirtualHost>

<Directory "C:/www">
Order allow,deny
allow from all
</Directory>

PostPosted: 10. November 2008 20:28
by glitzi85
You forgot Order allow,deny!

Code: Select all
<Directory "C:/www">
   Order allow,deny
   allow from all
</Directory>

<VirtualHost *:80>
   DocumentRoot /www/mydomain1.com
   ServerName mydomain1.com
   ServerAlias www.mydomain1.com
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot /www/mydomain2.com
   ServerName mydomain2.com
   ServerAlias www.mydomain2.com
   Order allow,deny
   allow from all
   deny from xx.xx.xxx.xxx
   deny from xxx.xxx.xxx.xxx
</VirtualHost>

PostPosted: 10. November 2008 20:31
by glitzi85
Sorry, Order is not allowed in VirtualHosts-Block, try this:

Code: Select all
<Directory "C:/www">
   Order allow,deny
   allow from all
</Directory>

<VirtualHost *:80>
   DocumentRoot /www/mydomain1.com
   ServerName mydomain1.com
   ServerAlias www.mydomain1.com
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot /www/mydomain2.com
   ServerName mydomain2.com
   ServerAlias www.mydomain2.com
</VirtualHost>

<Directory "C:/www/mydomain2.com">
   Order allow,deny
   allow from all
   deny from xx.xx.xxx.xxx
   deny from xxx.xxx.xxx.xxx
</Directory>


glitzi

PostPosted: 10. November 2008 20:38
by ninostar
Thanks... this works like a charm :)