У меня есть сервер Apache, на котором есть один виртуальный хост с несколькими псевдонимами серверов, и я испытываю медленное время доступа в зависимости от того, какое имя я использую для доступа к веб-сайту.
Мой файл httpd.conf:
ServerName 192.168.1.11:80
<VirtualHost 192.168.1.11:80>
Alias /robots.txt /var/www/robots.txt
Alias /static/ /home/django/www/ERate/static/
<Directory /home/django/www/ERate/static>
Order deny,allow
Allow from all
</Directory>
<Location /admin>
order deny,allow
deny from all
allow from 192.168.1 127.0.0.1
</Location>
WSGIScriptAlias / /home/django/www/ERate/apache/django.wsgi
ServerName 192.168.1.11
ServerAlias webserver.internal.on-tech.com webserver www www.internal.on-tech.com www.data.on-tech.com data.on-tech.com
</VirtualHost>
Когда я пытаюсь получить доступ к серверу с 192.168.1.11, страница загружается в течение секунды или двух, но если я попытаюсь получить к ней доступ с помощью одного из псевдонимов, страница займет 5 секунд в первый раз и 20+ секунд в следующий раз. . Если я подожду несколько минут после доступа к нему, время будет сброшено до 5 секунд.
Я думаю, что проблема в httpd.conf, потому что если я поменяю имя сервера на один из псевдонимов, новое имя сервера станет адресом, по которому доступ будет быстрым. Может ли кто-нибудь объяснить, почему происходит это замедление и как я могу это исправить?
Редактировать: По предложению Малика я изменил соответствующие строки на
ServerName webserver.internal.on-tech.com
ServerAlias webserver www www.internal.on-tech.com www.data.on-tech.com data.on-tech.com
Проблема все еще возникает: доступ к сайту с помощью webserver.internal.on-tech.com происходит значительно быстрее, чем доступ к любому из псевдонимов.
DNS для сайта работает (нет ошибок DNS), и записи DNS для этого сервера
webserver.internal.on-tech.com -> A record: 192.168.1.11
www.internal.on-tech.com -> CName: webserver.internal.on-tech.com
www.data.on-tech.com -> A record: 192.168.1.11
data.on-tech.com -> CName: www.data.on-tech.com
Похоже, проблема была в директиве VirtualHost. Проблема исчезла, когда я изменил свой httpd.conf на следующий:
ServerName webserver.internal.on-tech.com
Alias /robots.txt /var/www/robots.txt
Alias /static/ /home/django/www/ERate/static/
<Directory /home/django/www/ERate/static>
Order deny,allow
Allow from all
</Directory>
<Location /admin>
order deny,allow
deny from all
allow from 192.168.1 127.0.0.1
</Location>
WSGIScriptAlias / /home/django/www/ERate/apache/django.wsgi