LINUX.ORG.RU

NGINX + Django + subdomains

 , ,


0

2

Всем привет, сделал поддомены на сайте на django с использованием django-hosts, все работает на локалхосте, но на сервере ничего не хочет работать, сразу вызывает cities.views.hosts.hosts_callback

from django.conf import settings
from django_hosts import patterns, host

host_patterns = patterns(
    '',
    host(r'www', settings.ROOT_URLCONF, name='www'),
    host(
        r'^(?P<subdomain>\w+)',
        'cities.urls',
        callback='cities.views.hosts_callback',
        name='city'
    ),
)

А когда перехожу по поддомену вообще пишет: «Не удается найти DNS address сервера»
Подскажите как правильно сконфигурировать nginx чтобы все заработало. Конфиг nginx:

upstream cityportal.eastasia.cloudapp.azure.com {
    server localhost:12345 fail_timeout=0;
}

server {
    listen 80;
    server_name  www.cityportal.eastasia.cloudapp.azure.com;
    rewrite ^/(.*) http://cityportal.eastasia.cloudapp.azure.com/$1 permanent;
}

server {
    listen 80;
    client_max_body_size 4G;
    server_name cityportal.eastasia.cloudapp.azure.com;
    access_log  /home/dev/env/logs/portal.access.log;
    keepalive_timeout 5;

    root /home/dev/env/static_content;
    
    location / {
        proxy_pass http://cityportal.eastasia.cloudapp.azure.com;
    }

    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /home/dev/env/static_content/static/html;
    }

    location ~ ^/(static|media)/ {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        if (!-f $request_filename) {
            proxy_pass http://cityportal.eastasia.cloudapp.azure.com;
            break;
        }
     }
}

Я так думаю нужно что-то такое сделать:

server {
    listen 80;
    server_name *.cityportal.eastasia.cloudapp.azure.com;
}

Пробовал подключать обычный домен, сейчас в конфиге вместо cityportal.eastasia.cloudapp.azure.com стоит e2dit.ru.

★★★

Поддомены заработали, надо было в конфиге добвить *.domain.ru и wildcard сделать для домена, сделал A запись такую же (A *.domain.ru. ip адрес) Но почему-то все равно сразу колбэк вызывается когда на главном поддомене, но с этим уже разберусь, меня больше домен беспокоил :)

Int64 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.