Обслуживание статических файлов Vue.js и приложения Django, запущенного на gunicorn, через Nginx

У меня есть веб-бэкенд, реализованный на Django и работающий на Gunicorn. Кроме того, у меня есть приложение Vue.js, которое использует этот бэкенд. Я хочу запустить их оба на nginx, а также сделать HTTPS-конфигурации.

Вот как выглядит мой файл "/etc/nginx/nginx.conf":

...
  server {
    server_name .website.com;
    listen 80;
    return 307 https://$host$request_uri;
  }

  server {
    location / {
        proxy_set_header Host $host;
        proxy_pass   http://localhost:8080; # where the Django app over gunicorn is running
    }

    location /static {
        root /code/frontend/dist/; # static frontend code created with vite on vue.js
        autoindex on;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # ssl configs
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/website.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/website.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
  }

Оба они, Django и часть Vue.js, размещены в одном контейнере Docker. Порты 80 и 8080 этого контейнера сопоставлены с портами 80 и 8080 главного компьютера.

Порты

443, 8080 и 80 открыты на машине для входящих соединений. Отправка post-запроса на http://website.com:8080/bla возвращает правильные значения, что означает, что бэкенд, похоже, работает, но только на http, а не на https.

По-прежнему, когда я захожу на "website.com", я получаю ошибку "This site can't be reached". Что именно я делаю не так и как я могу запустить оба на nginx и оба через ssl/https?

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