我正在尝试使用django-hosts在api.mysite.com上提供一些纯文本数据。我的项目是使用这里描述的nginx,gunicorn,django,postgres配置:
我已经安装了django-hosts并按照此处的文档:django-hosts,但是当我访问api.mysite.com时,DNS查找失败。我对settings.py文件进行了更改,例如,
ROOT_HOSTCONF = 'mysite.hosts'
DEFAULT_HOST = 'www'
INSTALLED_APPS = (
#. . .
'django_hosts',
)
MIDDLEWARE_CLASSES = (
#. . .
'django_hosts.middleware.HostsMiddleware',
)
我的urls.py旁边有一个apiurls.py文件,如下所示:
from django.conf.urls import patterns, include, url
from django.contrib import admin
from mysite.views import hello
urlpatterns = patterns('',
url(r'^$', hello),
)
这是我正常的urls.py文件:
from django.conf.urls import patterns, include, url
from django.contrib import admin
from mysite.views import hello
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^hello/', hello),
)
mysite.com/hello按预期工作。
和我的hosts.py文件:
from django.conf import settings
from django_hosts import patterns, host
host_patterns = patterns('',
host(r'www', settings.ROOT_URLCONF, name='www'),
host(r'api', settings.ROOT_URLCONF, name='api'),
)
正如您所看到的,我只是将api主机设置为ROOT_URLCONF,以查看它是否是我的自定义URL配置文件的问题,但它没有用。无论我改变什么,任何访问api.mysite.com只会让dns查找失败。 www.mysite.com和www.mysite.com/hello一样工作得很好。
有什么想法吗?
编辑:我是否需要配置NGINX以某种方式通过api.mysite.com?我尝试在我的NGINX配置中将* .mysite.com添加到server_name,但这也没有用。答案 0 :(得分:0)
事实证明,我的DNS更改花了很长时间才传播,差不多12个小时,现在一切都很顺利。如果有人发现这一点,我的配置工作正常,并按预期。