история двух доменов)

Изображение пользователя Soi-Fong.

В далекой-далекой локальной сети, под предводительством роутера жили-были 2 компа: сервер и десктоп. Стоял на сервере хттпд. Сеть была домашней, потому внешний ип у нее был только один. А снаружи было привязано к этому ипу два домена. Жили они счастливо, но вскоре десктоп вырос и ему захотелось иметь свой хттпд на одном из этих доменов. Но роутер сказал, что он может направлять внешние запросы по 80-му порту только на один компьютер. Пошел десктоп к серверу за советом. Сервер был стар и мудр. Танцевал он с бубном, бормотал шаманские мантры, но все пакеты, которые он призывал шли только к нему самому. Тогда сервер сказал ему: "Давным давно, когда я был еще молод и быстр, слышал об одном действенном заклинании, и если мне не изменяют мои битые кластеры, то кажется оно называлось bind, и была в нем фича view. Иди и найди свиток с заклинанием, тогда возможно я смогу призвать к тебе пакеты используя другой домен.". Бродил десктоп по гуглу целый рабочий день, но так ничего и не нашел. Как же стать десктопу хттп сервером?

0
yurmax - 6 Февраль, 2008 - 16:40
Изображение пользователя yurmax.

а если так через апач, не кошерно?

<virtualhost>
ServerName www.sub.example.com
ServerAlias *.sub.example.com

CustomLog sub.example.com-access.log combined
ErrorLog sub.example.com-error.log

ProxyRequests On

<proxy>
Order deny,allow
Allow from live-ip
</proxy>

ProxyPass / http://develop-ip/
ProxyPassReverse / http://develop-ip/
ProxyPreserveHost On
</virtualhost>

или по сути

<VirtualHost *>
        ServerName www.example.com
        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
        ProxyPreserveHost On
</VirtualHost>

0
Soi-Fong - 6 Февраль, 2008 - 22:37
Изображение пользователя Soi-Fong.

Ну теперь хоть домены различать стал. Теперь говорит:
Forbidden
You don't have permission to access / on this server.

Нельзя ли как-нибудь создать что-то вроде символической ссылки на директорию соседнего компа?
_________________________
[

0
yurmax - 6 Февраль, 2008 - 23:46
Изображение пользователя yurmax.

скорее всего надо
<proxy>
Order deny,allow
Allow from <strong>[color=red]all[/color]</strong>
</proxy>

я так подозреваю.
.
.
.
ну если с извращениями, то могу предложить маунтить со второй машины на сервер по nfs например. а в VirtualHost апача указать DocumentRoot /туда/куда/примаунтил/

0
Soi-Fong - 7 Февраль, 2008 - 00:30
Изображение пользователя Soi-Fong.

В общем, щас напишу попонятнее.
Есть внешний ip, есть два домена: domain1 и domain2, есть два компа во внутренней сети: 192.168.1.102 с lighttpd и 192.168.1.110 с апачем сидящие в инете через nat. На роутере настроено, что запросы на внешний ip:80 идут на 192.168.1.110:80. Следовательно оба домена ссылаются тоже на этот внутренний ип. Нужно сделать чтобы domain1 был привязан к 192.168.1.110, а domain2 к 192.168.1.102.
на .110 в конфиге апача следующее:
<VirtualHost *>
    ServerName domain1
    ServerAlias www.domain1
    DocumentRoot /var/www/
    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

<VirtualHost *>
    ServerName domain2
    ServerAlias www.domain2
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.102/
    ProxyPassReverse / http://192.168.1.102/
</VirtualHost>

Но так все равно оба домена показывают мне .110

А еще при загрузке апач выдает:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
При чем два раза - по количеству блоков virtualhost
_________________________
[

0
dm - 7 Февраль, 2008 - 00:37
Изображение пользователя dm.

ИМХО в DNS надо рыть. Как вариант на роутере в /etc/hosts добавь:

192.168.1.110 domain1
192.168.1.102 domain2

а чтобы убрать
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

так же в /etc/hosts

в первую строчку добавь имя копьютера. У меня к примеру hosts выглядит следующим образом:

127.0.0.1 localhost.localdomain localhost dm-desktop
127.0.1.1 dm-desktop
127.0.1.1 domain1
127.0.1.1 domain2

0
Гость - 25 Июнь, 2011 - 09:41

благодарю за этот пост!

0
Soi-Fong - 7 Февраль, 2008 - 01:54
Изображение пользователя Soi-Fong.

Роутер у меня это отдельное устройство, и настроек днс в нем нет, иначе все решилось бы элементарно. Разве что второй комп как роутер использовать, но это сложно и менее надежно.
И прописывание всех доменов /etc/hosts не помогает.
p.s. в конфиг апача дописал верхней строчкой "NameVirtualHost *" и стал выдавать еррор 403 "You don't have permission to access / on this server." при обращении к domain2
_________________________
[

0
yurmax - 7 Февраль, 2008 - 20:07
Изображение пользователя yurmax.

шото я запутался... должно работать
вечерком попробую аналогичное построить и попробовать

0
dm - 7 Февраль, 2008 - 22:11
Изображение пользователя dm.

Как решишь вопрос - отпишись как сделал, интересно.

+1
yurmax - 7 Февраль, 2008 - 23:04
Изображение пользователя yurmax.

<VirtualHost *>
    ServerName delta.homelinux.org
    ServerAdmin [email protected]
    ErrorLog /var/log/delta_error.log
    CustomLog /var/log/delta_access.log common
    ProxyPass / http://192.168.1.2:80/
    ProxyPassReverse / http://192.168.1.2:80/
    ProxyPreserveHost On
</VirtualHost>

а в /etc/apache2/mods-enabled/poxy.conf

[color=red]Allow[/color] from all
вот и все дела.

+1
yurmax - 7 Февраль, 2008 - 23:45
Изображение пользователя yurmax.

PS результаты на лицо, [url=http://delta.homelinux.org/]смотрящая изнутри[/url] рабочая машина и [url=http://yurmax.homeip.net/]сервер\роутер[/url], обе на одном IP.

0
Soi-Fong - 8 Февраль, 2008 - 01:07
Изображение пользователя Soi-Fong.

Все равно нифига.. включил логирование для второго домена, в еррор логе следующее:

[Fri Feb 08 01:12:31 2008] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

_________________________
[

+1
yurmax - 8 Февраль, 2008 - 01:20
Изображение пользователя yurmax.

сделай линки в /etc/apache2/mods-enabled/ из /etc/apache2/mods-available/ на proxy.conf, proxy.load, proxy_http.load, или просто их скопируй туда.
ну и естественно не забываем /etc/init.d/apache2 restart

0
Soi-Fong - 8 Февраль, 2008 - 01:24
Изображение пользователя Soi-Fong.

На proxy_http.load сделал, и заработало, до этого были только первые два. Спасибо за помощь)
_________________________
[

+1
yurmax - 8 Февраль, 2008 - 01:25
Изображение пользователя yurmax.

ну слава тебе господи... заработало... :-)

0
Гость - 21 Май, 2009 - 22:49

Были те же проблемы. Убил часа 3, пока не нашел вашу переписку. Решает включение proxy_http.load.... Почему-то почти нигде нет упоминаний о том, что без него работать не будет...

0
Гость - 11 Август, 2010 - 22:15

Спасибо ! Именно "Решает включение proxy_http.load" этого не хватало . Убил много времени - и тут нашёл . padonak{at}padonak.su

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры