Ошибка 502 привела к нескольким хостам в django - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь разрешить несколько хостов, которые извлекаются из базы данных. Он работает нормально локально, но в производственном процессе я получаю ошибку 502.

Вот мой файл производственных настроек

from .settings import *

DEBUG = False


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'projectname_settings',
        'USER': '******',
        'PASSWORD': '******',
        'HOST': 'localhost',
        'PORT': '',
    }
}

ALLOWED_HOSTS = [
    "mydomain.com",
] + get_allowed_hosts(DATABASES['default'])

Allowed_hosts.py

def get_allowed_hosts(db_params):
    connection = None

    if db_params['ENGINE'] == 'django.db.backends.postgresql_psycopg2':
        import psycopg2
        connection = psycopg2.connect(user=db_params['USER'],
                                      password=db_params['PASSWORD'],
                                      host=db_params['HOST'],
                                      port=db_params['PORT'],
                                      database=db_params['NAME'])
    elif db_params['ENGINE'] == 'django.db.backends.sqlite3':
        import sqlite3
        connection = sqlite3.connect(db_params['NAME'])

    if connection is not None:
         cursor = connection.cursor()
         sites_query = cursor.execute("SELECT domain FROM django_site")
         sites_result = cursor.fetchall()
         cursor.close()
         connection.close()

Я думаю, если есть для этого типа настройки требуется nginx

my nginx config:

server {
    listen 80;
    server_name *****.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

результаты cat /var/log/nginx/error.log

2020/02 / 16 07:16:06 [ошибка] 32356 # 32356: * 110 подключиться () к unix: / run / gunicorn.sock не удалось (111: соединение отклонено) при подключении к восходящему каналу, клиенту: . . . , сервер: ****. Com, запрос: "GET / HTTP / 1.1", восходящий поток: "http://unix: / run / gunicorn.sock: / " хост: ". . . : 80"

...