Как настроить nginx для сайта приложения Django по https?

У меня есть приложение, которое я запускаю с несколькими контейнерами docker с помощью файла docker-compose. Два основных контейнера - django_container и nginx_container.

Я хочу принудительно использовать https для моего приложения, но, к сожалению, моя конфигурация Nginx, похоже, не работает. В принципе, мой сервер gunicorn, кажется, работает нормально.

Я могу видеть http://django:8001 изнутри nginx_container, но не могу видеть http://example.com ни изнутри, ни снаружи.

Вот содержимое моей конфигурации Nginx

server {
    listen 80;
    server_name example.com;
    rewrite ^ https://example.com$request_uri? permanent;
}

server {
    listen  443 ssl;
    server_name  example.com;
    
    ssl_certificate /etc/nginx/certs/example_com.crt;
    ssl_certificate_key /etc/nginx/certs/cert.key;

    access_log  /log/nginx.access.log  main;

    location / {
        proxy_pass       http://django:8001;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

Что я упускаю? Спасибо большое!

Вернуться на верх