Вход

Просмотр полной версии : Виртуальные хосты — настройка доступа


drwhite
22.01.2008, 14:35
Добрый день.

Пол дня вчера пытался разобраться, видимо туплю, давно в отпуске не был =)

Дано:

Apache 2.2.6 под WinXP

Виртуальные хосты:
ServerName "common.loc"
DocumentRoot "Z:/hosts/common/www/httpdocs"


ServerName "shared1.loc"
ServerAlias "www.shared1.loc"
DocumentRoot "Z:/hosts/shared1/www/httpdocs"

ServerName "shared2.loc"
ServerAlias "www.shared2.loc"
DocumentRoot "Z:/hosts/shared2/www/httpdocs"


ServerName "local1.loc"
DocumentRoot "Z:/hosts/local1/www/httpdocs"

ServerName "local2.loc"
DocumentRoot "Z:/hosts/local2/www/httpdocs"

Задача:

local1.loc должен быть доступен только с IP 127.*.*.*
local2.loc должен быть доступен только с IP 127.*.*.*

shared1.loc должен быть доступен с любого IP
shared2.loc должен быть доступен с любого IP

common.loc должен быть доступен с любого IP (_default_)

iNils
22.01.2008, 14:41
За доступность по именам доменов отвечает DNS-сервер

drwhite
22.01.2008, 14:57
Да, забыл сказать что все это находится в локальной сети и машина с апачем пока во внутренний домен не входит и доступ с других машин осущ. тупой правкой файла hosts, типа:

192.168.3.155 shared1.loc www.shared1.loc
192.168.3.155 shared2.loc www.shared2.loc

где 192.168.3.155 — адрес машины с апачем.

Но фишка в том, что если у кого-то добавить

192.168.3.155 local1.loc

То мой апач на него откликнется, чего быть не должно, потому что local1 должен быть доступен только со 127...

Раньше это решалось через мод_реврайт проверкой %{REMOTE_ADDR} но это не правильно.

iNils
22.01.2008, 15:32
Через .htaccess разрешить доступ только с заданых ip

drwhite
22.01.2008, 15:46
…через мод_реврайт проверкой %{REMOTE_ADDR}

То есть других ходов нет?

drwhite
22.01.2008, 18:25
да действительно
Deny from all
Allow from 192.168.3.155