Не загружает поддомен с конфигурацией nginx - PullRequest
0 голосов
/ 02 апреля 2020

Я врезался в стену. Я пробовал различные уроки, документы ant и c. безуспешно. Ниже мой Nginx файл конфигурации. Я хочу, чтобы основной сервер был на https://example.com, а другой сервер на https://api.example.com. Домен example.com должен обслуживать React SPA, а api.example.com должен быть внутренним API. На данный момент работает только example.com, но api.example.com не загружается.

server {
    listen 80;
    server_name example.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 80;
    server_name api.example.com;

    location / {
        return 301 https://api.$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/ssl/certs/example_com__chain.crt;
    ssl_certificate_key /etc/ssl/private/private.pem;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

server {

    listen 443 ssl;
    server_name api.example.com;
    ssl_certificate /etc/ssl/certs/example_com__chain.crt;
    ssl_certificate_key /etc/ssl/private/private.pem;

    location / {
        proxy_pass http://backend:8000; // backend Django app on docker-compose.
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host; 
        proxy_redirect off;
    }

    location /staticfiles/ {
        alias /home/app/web/staticfiles/;
    }

    location /mediafiles/ {
        alias /home/app/web/mediafiles/;
    }
}

api.example был добавлен в маршрут AWS. Даже если я удаляю часть прокси и просто пытаюсь вернуть строку, она не работает.

...