Apache-2.2
Apache vhosts 配置:主機名而不是 IP 地址
我有一個
example.com
由外部提供商託管的域 ( )。我將子域定向sub.example.com
到我的 ubuntu 伺服器(帶有 apache2 的 12.04)。在我的 ubuntu 伺服器上,我有一個像這樣的虛擬主機設置。其餘配置基本上是 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 記錄,現在“它可以工作了!”。多謝你們!