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

Конфигурация Apache vhosts: имя хоста вместо IP-адреса

У меня есть домен (example.com) размещен у внешнего провайдера. Я направил субдомен sub.example.com на мой сервер ubuntu (12.04 с apache2).

На моем сервере ubuntu у меня есть такая настройка vhost. Остальная часть конфигурации в основном стандартная для apache 2:

<VirtualHost *:80>
        ServerName sub.example.com
        ServerAlias sub.example.com
        ServerAdmin admin@sub.example.com
        DocumentRoot /var/www/sub.example.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        WSGIScriptAlias / /home/application/sub.example.com/wsgi.py

        <Directory /home/application/sub.example.com>
                <Files wsgi.py>
                        Order allow,deny
                        Allow from all
                </Files>
        </Directory>
</VirtualHost>

Когда я вхожу http://sub.example.com в моем браузере мое приложение отображается нормально. Но домен заменен IP-адресом моего сервера. Нужно ли мне настраивать свой сервер где-то еще, чтобы доставлять весь его контент в мой домен sub.example.com?

Вот мой файл wsgi.py:

import os
import sys
from os.path import abspath, dirname, join


PROJECT_ROOT = abspath(dirname(dirname(__file__)))
GIT_ROOT = abspath(dirname(dirname(PROJECT_ROOT)))

sys.path.insert(0, join(GIT_ROOT, 'venv', 'lib', 'python2.7', 'site-packages'))
sys.path.insert(0, PROJECT_ROOT)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xxx.settings")

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)

Следуя совету DTest, я понял, что это просто перенаправление от моего поставщика домена. Мой провайдер домена сделал просто перенаправление вместо реальной записи DNS A на sub.example.com. Добавил запись DNS A и теперь «Работает!». Спасибо, парни!