Настройте SSL в NGINX и Gunicorn в Django - PullRequest
0 голосов
/ 20 января 2020

Я новичок в развертывании приложений. У меня есть требование разместить приложение Django с использованием NGINX и Gunicorn.

Мне удалось успешно запустить приложение Django с использованием NGINX и Gunicorn. Теперь мне нужно настроить NGINX с HTTPS.

Я прошел несколько постов по настройке SSL с NGINX и Gunicorn. Но по-прежнему не удается настроить HTTPS для моего приложения.

Ниже приведен файл конфигурации NGINX

server {
listen 80;
listen 443 ssl;
server_name domain_name;
ssl_certificate /etc/ssl/https_certificate.cer;
ssl_certificate_key /etc/ssl/https_key.key;

location / {
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://0.0.0.0:8000;
}

location /static/ {
    autoindex on;
    alias PROJECT_STATIC_FILES_DIR;
}

location = /favicon.ico {
    alias PATH_TO_FAVICON/favicon.ico;
}
}

Я перезапустил службы NGINX, но все-таки мое веб-приложение показывает это как HTTP. Но не HTTPS. Может кто-нибудь сказать, пожалуйста, где я совершаю ошибку.

Извините, если это повторный вопрос.

1 Ответ

0 голосов
/ 20 января 2020
server {
    listen 80;
    listen 443 default_server ssl;

    # other directives
}

ИЛИ

Вы можете создать два серверных блока. Перенаправить все HTTP-запросы на HTTPS.

server {
    listen 80;
    listen [::]:80;
    server_name domain_name;

    return 301 https://domain_name$request_uri;
}

server {
    listen 443 ssl default_server;
    server_name domain_name;
    ssl_certificate /etc/ssl/https_certificate.cer;
    ssl_certificate_key /etc/ssl/https_key.key;

    location / {
        proxy_pass http://0.0.0.0:8000;
        proxy_set_header Host $http_host;
        proxy_connect_timeout 300;
        proxy_set_header Connection "";
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        send_timeout 300;
        proxy_set_header X-Forwarded-Proto $scheme;


      }

    location /static/ {
        autoindex on;
        alias PROJECT_STATIC_FILES_DIR;
      }

   location = /favicon.ico {
      alias PATH_TO_FAVICON/favicon.ico;
   }
}
...