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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как можно назначить "Default" сайт, если обращение идет к несуществующим адресам  (Прочитано 6425 раз)

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

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
Как можно назначить "Default" сайт, если обращение идет к несуществующим адресам на сервере или к IP адресу сервера?
При наборе IP адреса или имени сайта в браузере, открывался один и тот же сайт.

А недавно только обнаружил, что стало так:
при доступе по IP открывается сайт, который последний добавленный в VirtualHost, а по имени открывается тот, который нужно. При этом ничего кардинального не менялось в настройках Apache2. И в результате этого, не могу добавить новый субдомен, так как при доступе по IP, будет открываться последний добавленный сайт, а нужно, чтобы был доступен и по IP и по имени только определенный сайт. Или в крайнем случае поставить какую-то заглушку при доступе по IP адресу...

В стандартной настройке Apache2 параметры такие:
Цитировать
Сервер по-умолчанию.
Определяет настройки по умолчанию для всех виртуальных серверов, и обслуживает все необработанные запросы.
Название сервера: Автоматически
Корневой каталог документов: Автоматически

Виртуальный Сервер
Обслуживает именованный сервер на адресе *.
Название сервера: Автоматически
Корневой каталог документов: /var/www

А у меня так:
Цитировать
Сервер по-умолчанию.
Определяет настройки по умолчанию для всех виртуальных серверов, и обслуживает все необработанные запросы.
Название сервера: Автоматически
Корневой каталог документов: Автоматически

Виртуальный Сервер
Обслуживает именованный сервер на адресе 127.0.0.1
Название сервера: Автоматически
Корневой каталог документов: /var/www

При этом все остальные виртуальные хосты используют:
Цитировать
Виртуальный Сервер
Обслуживает именованный сервер support.xxx.net.ua на адресе *.
Адрес Любой
Порт 80   Название сервера support.xxx.net.ua
Корневой каталог документов /home/xxx-net-ua/support

Виртуальный Сервер
Обслуживает именованный сервер support.xxx.net.ua на адресе *.
Адрес Любой
Порт 443   Название сервера support.xxx.net.ua
Корневой каталог документов /home/xxx-net-ua/support
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
какой ип адрес 192.168.ххх.ххх или 10.0.ххх.ххх?
Wars ~.o

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
какой ип адрес 192.168.ххх.ххх или 10.0.ххх.ххх?
Локальная сеть: 192.168.75.0/24
Сервер: 192.168.75.100
из Интернета тоже такая же ситуация (внешний, статический): 46.219.xxx.xxx/32

В настройках dnsmasq прописан только параметр (для локальной сети):
address=/support.xxx.net.ua/192.168.75.100
Это сделано для того, чтоб пользователи локальной сети имели доступ к сайту, если временно нет Интернета.
« Последнее редактирование: 15 Июля 2013, 17:11:00 от toxi »
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
из Интернета тоже такая же ситуация: 46.219.xxx.xxx/32
какая ОС или роутер?
/etc/hosts добав
192.168.75.100 support.xxx.net.ua
Wars ~.o

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
Цитировать
из Интернета тоже такая же ситуация: 46.219.xxx.xxx/32
какая ОС или роутер?
/etc/hosts добав
192.168.75.100 support.xxx.net.ua
На клиенте Windows 7 SP1 x64.
На сервере Ubuntu Linux 10.04.3 (он же выполняет функции роутера/шлюза в Интернет).

Добавит запись на клиенте или на сервере?
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
На клиенте Windows 7 SP1 x64.
там где hosts файл добавить эти.
Wars ~.o

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
Есть эти строки:
root@xxx:~# cat /etc/hosts
127.0.0.1       localhost
192.168.75.100   support.xxx.net.ua      xxx

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Цитировать
На клиенте Windows 7 SP1 x64.
там где hosts файл добавить эти.
С клиента ввожу имена сайтов, которые хостятся на сервере и попадаю без проблем на тот, имя которого я набрал. А при вводе IP сервера, попадаю на последний (support.xxx.net.ua), который добавлял в VirtualHost в конфиге Apache2, а мне этого ненужно. Пусть бы сделать либо заглушку либо при вводе IP, всегда попадать на главный сайт xxx.net.ua, который хостится на сервере.

Добавлено:
Теперь при вводе IP попадаю на нужный сайт, а при переходе на протокол https:// при вводе того же IP, открывается последний добавленный сайт в VirtualHost. При чем SSL сертификат регистрировал не на IP, а на доменное имя сайта.
Или на каждый субдомен основного домена нужен отдельный сертификат?
« Последнее редактирование: 15 Июля 2013, 18:00:32 от toxi »
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
для hosts
192.168.75.100   support.xx1.net.ua support.xx2.net.ua
а apache
<VirtualHost *:80>
        ServerAlias support.xx1.net.ua
        DocumentRoot /var/www/site1/
        <Directory /var/www/site1>
        AllowOverride All
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerAlias support.xx2.net.ua
        DocumentRoot /var/www/site2/
        <Directory /var/www/site2>
        AllowOverride All
        </Directory>
</VirtualHost>
Wars ~.o

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
для hosts
192.168.75.100   support.xx1.net.ua support.xx2.net.ua
А если это уже прописано у регистратора доменного имени в DNS, то все равно нужно в hosts прописывать?

а apache
<VirtualHost *:80>
        ServerAlias support.xx1.net.ua
        DocumentRoot /var/www/site1/
        <Directory /var/www/site1>
        AllowOverride All
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerAlias support.xx2.net.ua
        DocumentRoot /var/www/site2/
        <Directory /var/www/site2>
        AllowOverride All
        </Directory>
</VirtualHost>
Сайт прописан у меня так:
Создан файл /etc/apache2/sites-available/support.xxx1.net.ua.conf
<VirtualHost *:80>
DocumentRoot /home/xxx1-net-ua/support
ServerName support.xxx1.net.ua
<Directory /home/xxx1-net-ua/support>
allow from all
Options +Indexes
</Directory>
ServerAlias www.support.xxx1.net.ua
</VirtualHost>

Создан файл /etc/apache2/sites-available/support.xxx2.net.ua.conf
<VirtualHost *:80>
DocumentRoot /home/xxx2-net-ua/support
ServerName support.xxx2.net.ua
<Directory /home/xxx2-net-ua/support>
allow from all
Options +Indexes
</Directory>
ServerAlias www.support.xxx2.net.ua
</VirtualHost>
А для SSL так:
<VirtualHost *:443>
DocumentRoot /home/xxx1-net-ua/support
ServerName support.xxx1.net.ua
<Directory /home/xxx1-net-ua/support>
allow from all
Options +Indexes
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/xxx1_net_ua.crt
SSLCertificateKeyFile /etc/ssl/xxx1-net-ua.key
SSLCACertificateFile /etc/ssl/xxx1_net_ua.crt
HostNameLookups off
</VirtualHost>

<VirtualHost *:443>
DocumentRoot /home/xxx2-net-ua/support
ServerName support.xxx2.net.ua
<Directory /home/xxx2-net-ua/support>
allow from all
Options +Indexes
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/xxx2_net_ua.crt
SSLCertificateKeyFile /etc/ssl/xxx2-net-ua.key
SSLCACertificateFile /etc/ssl/xxx2_net_ua.crt
HostNameLookups off
</VirtualHost>
Нужно обязательно добавлять AllowOverride All ?

Экспериментировать пока не сильно могу, так как это корпоративный сервер, на котором хостится несколько сайтов, почта, MySQL
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
Нужно обязательно добавлять AllowOverride All ?
а это .htaccess, не знаю.

Цитировать
почта
можно gmail.com свои администратор - https://forum.ubuntu.ru/index.php?topic=215239.msg1653149#msg1653149

Wars ~.o

Оффлайн muslimgauze

  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
для hosts
192.168.75.100   support.xx1.net.ua support.xx2.net.ua
А если это уже прописано у регистратора доменного имени в DNS, то все равно нужно в hosts прописывать?


ЭТО никак не может быть прописано у регистратора, это локальный IP
у регистратора прописан твой внешний IP!

ЗЫ: нужно!

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
[Решено]
Поставил NGINX и настроил дефолтную страницу, если на сервере не найден запрашиваемый адрес (домен).

После того, как настроил NGINX, менял порты в настройках Apache у каждого сайта и заметил особенность, что если оставить по умолчанию параметры:
Обслуживает именованный сервер на адресе *.
Адрес Любой
Порт 81
Название сервера Автоматически
Корневой каталог документов /var/www
То Apache тоже будет выдавать дефолтную страницу, если виртуальный хост не найден. Это мне и нужно было настроить в Apache. Но этот вопрос уже отпал, так как я установил NGINX и настроил на нем дефолтную страницу.
« Последнее редактирование: 15 Августа 2013, 11:08:47 от toxi »
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Wars ~.o

Оффлайн toxi

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
  • Павловский Роман Олегович
    • Просмотр профиля
    • IT-портал Service Plus
Мне это и нужно было сделать на Apache, но этого у меня не получилось сделать. Поэтому решил поставить NGINX и настроить на нем дефолтную страницу. + При переходе по IP и по имени, перекидывает на один сайт (на тот, который нужно), что тоже не удалось добиться в настройках Apache
Ubuntu x86/x64 * LTS | VirtualBox

Оффлайн MuadDlb

  • Участник
  • *
  • Сообщений: 147
  • The Dune Messiah
    • Просмотр профиля
А что мешало прописать виртуальные хосты и по ip и по именам? причем тот что по айпи поставить первым в списке

 

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