Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятная работа Apache 2.4 с виртуальными хостам 
:(
    Опции темы
Majestio
Дата 20.5.2022, 10:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Установил Apache 2.4 под FreeBSD 13.0, настроил два виртуальных хоста, вижу что-то не то.

А именно:
  • В основной конфигурации хост: freebsd-13.loc
  • Виртуальные хосты: template-html5.loc, template-laravel.loc
Так вот, если в основном файле конфигурации httpd.conf включено подключение extra/httpd-vhosts.conf, по при запросе http://freebsd-13.loc - мне отдается содержимое от http://template-html5.loc.
Но если отключить виртуальные хосты, тогда отдается как надо - http://freebsd-13.loc.

Подскажите, пожалуйста, что я сделал неправильно.

PS: Продублировал основной хост в виртуальных - заработало. Но, имхо, это костыль! :-(

PM MAIL WWW   Вверх
ida
Дата 26.5.2022, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2275
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 1
Всего: 60



Цитата(Majestio @  20.5.2022,  11:57 Найти цитируемый пост)
Подскажите, пожалуйста, что я сделал неправильно.

PS: Продублировал основной хост в виртуальных - заработало. Но, имхо, это костыль! :-(


Задача решена?

PM WWW   Вверх
Majestio
Дата 29.5.2022, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Цитата(ida @  26.5.2022,  15:15 Найти цитируемый пост)
Задача решена?

Не совсем, как хотелось бы. В виртуальных хостах продублировал настройки основного хоста - работает.
Заметил в настройках в файле виртуальных хостов вот такой комментарий:
Цитата

# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
The first VirtualHost section is used for all requests that do not
match a ServerName or ServerAlias in any <VirtualHost> block.

Возможно из-за этого и работает, но почему без этого не подхватывает основные настройки (основное имя сервера) - не понимаю! smile 

Это сообщение отредактировал(а) Majestio - 29.5.2022, 04:54
PM MAIL WWW   Вверх
Oldshelf
Дата 29.5.2022, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.4.2018

Репутация: нет
Всего: 3



Предположение.

Что, если запрашиваемый хост "freebsd-13.loc" не совпадает ни с одним хостом из правил, например по протоколу (https!=http). Тогда в одном случае используется дефолтный хост из "httpd.conf", а в другом - первый из "extra/httpd-vhosts.conf". Проблему решило добавление во vhosts дефолтного хоста первым правилом?
PM MAIL WWW   Вверх
Majestio
Дата 29.5.2022, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Цитата(Oldshelf @  29.5.2022,  18:21 Найти цитируемый пост)
Что, если запрашиваемый хост "freebsd-13.loc" не совпадает ни с одним хостом из правил

В основном конфиге: 
ServerName freebasd-13.loc
https пока не строил

Цитата(Oldshelf @  29.5.2022,  18:21 Найти цитируемый пост)
Проблему решило добавление во vhosts дефолтного хоста первым правилом?

Ага.

PM MAIL WWW   Вверх
Oldshelf
Дата 30.5.2022, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.4.2018

Репутация: нет
Всего: 3



Похоже на обращение к дефолтному хосту из-за отсутствия подходящего под запрос хоста.

Можно проверить. Переместить хост "freebsd-13.loc" с первого места в конец "extra/httpd-vhosts.conf", а в качестве первого хоста указать рандомный хост со страницей-заглушкой. Если сопоставление с "freebsd-13.loc" срабатывает, то это ни на что не повлияет, если же откроется заглушка, значит запрашиваемый хост "freebsd-13.loc" не совпадает с хостом, указанным в "extra/httpd-vhosts.conf".
PM MAIL WWW   Вверх
Majestio
Дата 5.6.2022, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Цитата(Oldshelf @  30.5.2022,  14:56 Найти цитируемый пост)
Можно проверить.

Так я уже и проверял. Если убрать из конфига виртуальных хостов запись о "freebsd-13.loc", то, при обращении к "freebsd-13.loc", начинает грузится содержимое из "template-html5.loc". Собственно, с чего и начался разговор. Получается, что в конфиге виртуальных хостов "основной" домен "freebsd-13.loc" резолвится, а из главного конфига - нет.

Это сообщение отредактировал(а) Majestio - 5.6.2022, 04:16
PM MAIL WWW   Вверх
Oldshelf
Дата 5.6.2022, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.4.2018

Репутация: нет
Всего: 3



Понятно. Я предложил переместить "freebsd-13.loc" в списке виртуальных хостов на позицию ниже. Если что-то изменится и начнёт отдаваться "template-html5.loc", значит дело не в совпадении с записью для "freebsd-13.loc" в "extra/httpd-vhosts.conf", а в том, что запрашиваемый домен просто не находится и берётся любая первая запись в качестве замены.
PM MAIL WWW   Вверх
Majestio
Дата 6.6.2022, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Сделал как ты сказал. На freebsd-13.loc начало выдаваться содержимое из первого виртуального хоста, а именно с "template-html5.loc". И его пробовал комментить - тогда выдается с последнего ""template-laravel.loc". И только тогда, когда вообще нет виртуальных хостов (либо весь файл закомментирован, либо в файле все хосты в комменте) - только тогда честно отдается содержимое "freebsd-13.loc".
PM MAIL WWW   Вверх
Oldshelf
Дата 7.6.2022, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.4.2018

Репутация: нет
Всего: 3



Цитата(Majestio @  6.6.2022,  19:58 Найти цитируемый пост)
И только тогда, когда вообще нет виртуальных хостов (либо весь файл закомментирован, либо в файле все хосты в комменте) - только тогда честно отдается содержимое "freebsd-13.loc". 

Вероятно, в этом случае срабатывает правило из "httpd.conf".

Очень похоже на ошибку в написании запроса. Нужно убедиться, что в одном из URL нет, к примеру, кириллических символов. Самый верный способ: заново аккуратно набрать "freebsd-13.loc" в хостах (после "template-html5.loc", чтобы знать, что хост отдаётся не по дефолтному правилу) и скопировать его затем в адресную строку браузера (тогда хосты точно совпадут).

Это сообщение отредактировал(а) Oldshelf - 7.6.2022, 10:33
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.1175 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.