Назад | Перейти на главную страницу

Apache с несколькими доменами, одним IP, VirtualHost ловит не тот трафик

У меня есть веб-служба SOAP, которую я предоставляю на веб-сервере apache. Есть 6 разных клиентов (IP), которые запрашивают данные, и 3 из них попадают не в тот домен. Я пытаюсь найти способ записать, с какого доменного имени поступают запросы.

Подробности:

ServerA является основным

ServerB - это резервная копия

domain1.com - домен, на котором находится веб-сервис

domain2.com - отдельный домен, который сервер разделяет контент на ServerB

ServerA пока является автономным со своим собственным IP и DNS от domain1.com. Это работает для всех.

ServerB - это резервная копия веб-службы, но на ней уже находится домен domain2.com.

Я добавил записи в файл конфигурации apache, например:

<VirtualHost *:443>

ServerName domain2.com

DocumentRoot /var/www/html/

CustomLog logs/access_log_domain2443 common
ErrorLog logs/ssl_error_log_domain2443
LogLevel debug

SSLEngine on

... etc SSL directives ...

</VirtualHost>

У меня есть их как для 80, так и для 443 для домена 1 и 2, причем домен 1 является вторым.

Проблема заключается в том, что когда мы переключаем DNS для domain1 с ServerA на ServerB, 3 из 6 клиентов отображаются в журналах отладки как обращающиеся к domain2.com вместо domain1.com и не выполняют запрос веб-службы, потому что domain2.com находится первым в списке. файл конфигурации apache и перехват всех запросов, которые не соответствуют другим виртуальным хостам, а именно domain1.com.

Я не знаю, попадают ли они в www.domain1.com, domain1.com (хотя я добавил записи для обоих) или используют внешний IP-адрес или что-то еще. Есть ли способ увидеть, по какому URL они обращаются, а не только по запросу страницы, или какой-либо другой способ узнать, почему первый домен перехватывает трафик, предназначенный для второго указанного домена?

А пока я поставил domain1.com в конфигурации apache выше, чем domain2.com. Теперь он улавливает запросы для всех клиентов и работает, однако я не знаю, что он улавливает, и хотел бы снова сделать domain2.com первой записью с правильной записью для domain1.com, хотя они его ударяют.

Спасибо за помощь! Андрей

Вы проверили свой apache access.log, попробуйте это, чтобы получить более подробный журнал:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/access_log combined

Больше подробностей : http://httpd.apache.org/docs/2.2/en/logs.html Надеюсь, это помогло тебе