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

Nginx Django Gunicorn https-сайт не может быть достигнут ошибка

Итак, у меня есть приложение Django, работающее под управлением Ubuntu. У меня есть nginx и Gunicorn, и я пытаюсь настроить https с помощью Let's Encrypt, но продолжаю получать сообщение об ошибке «Сайт недоступен».

Вот мой nginx.conf:

upstream Tutorial2_prod{
    server unix:/var/test/proiect/Tutorial2.sock fail_timeout=0;
}
server {
    server_name juristnet.ro www.juristnet.ro;

    listen 443;  # <-

    ssl on;  # <-
    ssl_certificate /etc/letsencrypt/live/juristnet.ro/fullchain.pem;  # <-
    ssl_certificate_key /etc/letsencrypt/live/juristnet.ro/privkey.pem;  # <-
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
  location = /favicon.ico { access_log off; log_not_found off;
        alias /var/test/proiect/favicon.ico;    
 }
     location /static/ {
    autoindex on;
        root /var/test/proiect;
    }

    location /assets/ {
        autoindex on;
        alias /var/test/proiect/assets/;    
}
    location /.well-known/ {
        autoindex on;
        allow all;
        alias /var/test/proiect/.well-known/;
}
    location / {
        include /etc/nginx/fastcgi_params;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://unix:/var/test/proiect/Tutorial2.sock;
    proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

server {
   listen  80;
   server_name www.juristnet.ro juristnet.ro;

        return 301 https://juristnet.ro$request_uri;

}

Выход netstat -an | grep 443

tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN     
tcp        0     36 46.101.111.197:22       81.196.30.196:44356     ESTABLISHED

Файл конфигурации Gunicorn:

description "Gunicorn application server handling juristnet"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid admin
setgid root
chdir /var/test/proiect

exec /var/test/proiect/jurist/bin/gunicorn --workers 3 --bind unix:/var/test/proiect/Tutorial2.sock Tutorial2.wsgi:application

Журналы ошибок понятны. Nginx -t не возвращает ошибок. Я не могу понять, что происходит, я думаю, это может быть вызвано proxy_pass в nginx conf. Домен правильно перенаправлен на https://example.com, но ничего не показывает. Просто ошибка отказа в подключении. Любая помощь будет оценена, спасибо!

Вы мало указываете на вызов Let's Encrypt, но я предполагаю, что это webroot. В этом случае вам нужно обслуживать задачи через порт 80, поэтому вам нужно иметь блок местоположения для .well-known вместо универсального перенаправления.

Возможно, запуск nginx и процесса Gunicorn от имени одного и того же пользователя и группы может дать результаты.

Указав пользователя и группу в nginx.conf, указав:

user username groupname