Я врезался в стену. Я пробовал различные уроки, документы 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. Даже если я удаляю часть прокси и просто пытаюсь вернуть строку, она не работает.