Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Apache2, виртуальные хосты и Ubuntu  (Прочитано 1654 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Apache2, виртуальные хосты и Ubuntu
« : 27 Июль 2014, 16:36:41 »
Имею выделенный IP, на котором стоит сервак с виртуальными машинами, одна из которых Ubuntu Server 14.04 LTS с установленным LAMP.
У меня есть несколько доменов. Суть идеи - заставить сервер отображать нужный сайт, в зависимости от запроса.

Мои действия:
1) У регистратора (NIC.RU) привязал домен к ДНС хостингу Яндекс.
2) У Яндекса я прописал свои IP в поля A к строчкам www.example.com и example.com
3) Отредактировал /etc/hosts в соответствии со своими хостами:
127.0.0.1 example.com www.example.com
192.168.x.x example.com www.example.com
4) Сделал проброс 22 (TCP) и 80 (TCP) порта с внешнего IP на внутренний средствами роутера.
5) Создал конфиги виртуальных хостов и подключил их.
<VirtualHost *:80>
ServerName example.com
ServerAdmin foo@example.com
DocumentRoot /var/www/example.com/wwroot

<Directory /var/www/example.com/wwroot?
AllowOverride All
</Directory>
</VirtualHost>
Итог. Трафик по 22 порту ходит шикарно, компьютер пингуется по доменному имени, nsllokup выдаёт правильную информацию, но сервер не отзывается по 80 порту...

И да, вот что интересно. Если попробовать зайти с гиппервизора по адресу example.com или www.example.com - всё работает.
ДНС прописан роутера, туда вносить ни  какие записи нельзя, то есть он их берёт, как и положено с внешнего ДНС.

Подумал, что глючит роутер, не пробрасывает порт, но нет. Установив в конфиге apache 81 порт, а внешний 80-м - получил тот-же результат. Пробовал даже включить DMZ - тоже не помогло.

Настроил логи, чтобы apache подробно писал - пусто. К сереверу ни кто не подключается.

В чём может быть проблема? Как диагностировать?
 
« Последнее редактирование: 27 Июль 2014, 22:18:24 от Shalmaran »
Banana Pi

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #1 : 27 Июль 2014, 20:09:34 »
Цитировать
127.0.0.1 example.com www.example.com
127.0.0.1 localhost
Цитировать
ServerAdmin foo@example.com
ServerAdmin foo@example.com
ServerAlias example.com www.example.com

Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #2 : 27 Июль 2014, 21:25:01 »
Цитировать
127.0.0.1 example.com www.example.com
127.0.0.1 localhost
Цитировать
ServerAdmin foo@example.com
ServerAdmin foo@example.com
ServerAlias example.com www.example.com

localhost естественно прописан.
ServerAlias добавил тоже, но это ничего не даёт.

Нет. Причина не там. Логи у апача пустые... Не хотят пакеты до него идти. Куда копать - ума не приложу.
« Последнее редактирование: 27 Июль 2014, 22:18:33 от Shalmaran »
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #3 : 27 Июль 2014, 23:19:41 »
Shalmaran, не слушай его, он пальцем в небо тычет.

curl -sH "Host: www.example.com" http://localhost/

с сервера, где апач крутится.
И проверяй, что Апач отдаёт те сайты, которые тебе нужны.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #4 : 27 Июль 2014, 23:53:09 »
Shalmaran, не слушай его, он пальцем в небо тычет.

curl -sH "Host: www.example.com" http://localhost/

с сервера, где апач крутится.
И проверяй, что Апач отдаёт те сайты, которые тебе нужны.

Нормально, отдаёт. А из внешней сети - не видно... Порт проброшен. Всё отлично. Другие программы работают нормально. И SSH и Webmin. Ни каких проблем с пробросом нет. А апач ну ни как не хочет...
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #5 : 28 Июль 2014, 16:15:29 »
Как именно из внешней сети не видно? Что в логах? (В какие логи попадает реквест с внешки?)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #6 : 28 Июль 2014, 16:17:57 »
Похоже, что я уже ближе к разгадке. Я взял работающий FTP сервер и средствами роутера пробросил его 21-й порт на внешний 80-й. Итог - FTP отвалился...

Роутер TP-Link Archer C7. Копать, как я понимаю, именно в эту сторону.

Пользователь решил продолжить мысль 28 Июль 2014, 16:18:47:
Как именно из внешней сети не видно? Что в логах? (В какие логи попадает реквест с внешки?)
Если с внешнего - то в логах пусто. Совсем. (Стоит LogLevel debug)
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #7 : 28 Июль 2014, 16:20:11 »
Не на всех роутерах работает несимметричный проброс портов (21->80 например).
Симметричный работает почти всегда. Если не работает, вероятно, роутер настолько туп, что не добавляет правило в фаервол, когда вы настраиваете форвард.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #8 : 28 Июль 2014, 16:28:47 »
Не на всех роутерах работает несимметричный проброс портов (21->80 например).
Симметричный работает почти всегда. Если не работает, вероятно, роутер настолько туп, что не добавляет правило в фаервол, когда вы настраиваете форвард.
Несимметричный работает. У меня другие порты так проброшены. Проблема только в 80-м.
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #9 : 28 Июль 2014, 18:03:03 »
Т.е. если пробрасываешь через 21 порт, на 21 снаружи нормально отдаются нужные сайты?
Может, провайдер 80-й порт фильтрует?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #10 : 28 Июль 2014, 18:06:57 »
Т.е. если пробрасываешь через 21 порт, на 21 снаружи нормально отдаются нужные сайты?
Может, провайдер 80-й порт фильтрует?
Да, все остальные порты работают нормально. Провайдер? Может и он. Как бы проверить это? Я не могу сейчас тыкнуть кабель напрямую, нахожусь за полторы тысячи километров.

Сейчас проверю.

Что получилось. 
Роутер делает проброс с 80 внутреннего на 87 внешний. Внутри всё как и было - работает. Снаружи - нет. 


Ещё один эксперимент (удачный). Сделал проброс с 80 на 8080 - увидел снаружи. Где логика? 80-й что-то блочит явно.
« Последнее редактирование: 28 Июль 2014, 18:18:48 от Shalmaran »
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #11 : 28 Июль 2014, 22:26:06 »
80-й локальный или 80-й на роутере?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #12 : 28 Июль 2014, 23:45:44 »
80-й локальный или 80-й на роутере?
80 на сервере был проброшен на 8080 наружу.
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27318
    • Просмотр профиля
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #13 : 29 Июль 2014, 10:51:23 »
Вполне может быть, что провайдер фильтрует 80/21 порты.
Трясите их техподдержку.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 837
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Re: Apache2, виртуальные хосты и Ubuntu
« Ответ #14 : 29 Июль 2014, 13:57:58 »
Вполне может быть, что провайдер фильтрует 80/21 порты.
Трясите их техподдержку.
Для начала воткну кабель напрямую. Если так будет работать - тогда буду шить роутер. Тут вариантов много. У меня установлена не свежая прошивка. Или OpenWRT поставлю.
Banana Pi

 

Страница сгенерирована за 0.164 секунд. Запросов: 24.