вопрос про vhosts [solved]

Есть роутер (он же файрволл и NAT, не компьютер просто коробочка c web-интерфейсом) и за ним в локальной сети два компьютера, пусть будут "клиент" и "сервер". Кроме того есть внешний ip-адрес, через роутер на сервер транслируется 80-й порт. Пока виртуальных хостов не было, всё работало. Во внутренней сети настроил vhost вместе с ssl, а наружу с виртуальными хостами ничего не получается (пытаюсь без ssl организовать на данный момент). Причина понятна из просмотра логов: апач пытается найти искомую директорию в хосте по умолчанию, то есть имени почему-то не видит и поэтому в тот хост, которому ServerName соответствует не идёт. Как бороться непонятно. Пусть даже то имя, которое я вписываю в строке браузера как-то по пути переосмысливается, я бы вписал в vhost то имя, которое сервер хочет услышать (получает при обращении), но где его посмотреть не знаю. В логах клиент записан просто по ip-адресу (внешнему).

Не оно?

$ grep Include /etc/apache2/vhosts.d/00_default_ssl_vhost.conf
    Include /etc/apache2/vhosts.d/default_vhost.include

:wq
--
Live free or die

Это что, должно помочь? :)

Это что, должно помочь? :)

Я честно пытался понять... не

Я честно пытался понять... не вышло. Недостаточно информации.

Как резолвятся имена хостов? (Откуда внешний клиент знает, что vhost.ru лежит именно на том сервере, а не на каком-то другом?)

Настройки vhosts в студию пожаллста.
Подробное описание ваших действий - что хочу, что ввожу, куда ввожу, что вижу и т. п.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

> Как резолвятся имена

> Как резолвятся имена хостов? (Откуда внешний клиент знает, что vhost.ru лежит именно на том сервере, а не на каком-то другом?)

Во-первых, когда-то я попросил у своего провайдера, чтобы он записал меня у себя в DNS. Во-вторых, на сервере в /etc/hosts записано.

> Настройки vhosts в студию пожаллста.

http://paste.org.ru/?vilr59

192.168.99.3.conf --- этот действующий
imaginary.arbital.ru.conf --- этот не работает

Круто <VirtualHost

Круто

<VirtualHost imaginary:80>
ServerName imaginary

Изначально там было

Изначально там было imaginary.arbital.ru и не работало. imaginary --- это результат последующих экспериментов. Правильно-то как?

Правильно - тот servername,

Правильно - тот servername, который будет вводиться в браузере.

Спасибо. Чудесным образом всё

Спасибо. Чудесным образом всё заработало. В таком вот виде:

 <VirtualHost *:80>
 ServerName imaginary.arbital.ru

Почему-то когда в VirtualHost не звёздочка, а имя или ip-адрес, то не работает ничего.

Наверное, потому, что

Наверное, потому, что ServerName указывается вне блока <VirtualHost />

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Таких экспериментов я не

Таких экспериментов я не делал. Во всех случаях ServerName был внутри блока <VirtualHost /> Вроде бы так и надо, определяем хост, а внутри указываем его имя.

ServerName есть имя самого

ServerName есть имя самого сервера и указывается для всего сервера один раз глобально.
А имя вирт хоста указывается как раз в теге <VirtualHost host.name.ru:80>....</VitrualHost>

Если я не прав, поправьте меня... Я с апачем плотно не общался. Но поэкспериментировать успел.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Youshi написал(а): ServerName

Youshi написал(а):
ServerName есть имя самого сервера и указывается для всего сервера один раз глобально.
А имя вирт хоста указывается как раз в теге <VirtualHost host.name.ru:80>....</VitrualHost>

Если я не прав, поправьте меня... Я с апачем плотно не общался. Но поэкспериментировать успел.

Не правы

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".