Почему мне нужны заголовки Cors для одного приложения, но не для другого идентичного приложения?
У меня есть два (почти) одинаковых приложения Angular PWA, которые находятся в обертке ASPNET. Одно размещено на порту 5000, а другое - на 5002.
location /app1/ {
proxy_pass http://localhost:5000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /app2/ {
proxy_pass http://localhost:5002/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Приложение загружает данные с сервера Django по адресу /home/apps/djangoapp/media/JSON:
### Upload App ###
MEDIA_ROOT = '/home/apps/djangoapp/media'
MEDIA_URL = '/media/'
JSON_URL = 'JSON/'
DATA_UPLOAD_MAX_NUMBER_FIELDS = 100000
CORS_ALLOW_ALL_ORIGINS = True
DATA_UPLOAD_MAX_MEMORY_SIZE = 10242880
Файл создается с помощью пост-запроса и после создания принадлежит www-data, независимо от того, какое приложение создает файл. По какой-то причине я не могу загрузить на app2 (на порт 5002) без передачи Access-Control-Allow-Origin' '*' от NGINX для папки media.
location /media {
alias /home/apps/djangoapp/media;
add_header 'Access-Control-Allow-Origin' '*';
}
Похоже, что так делать нельзя, тем более что другому приложению, очевидно, не нужны заголовки cors. И чтобы еще больше усложнить ситуацию, app1 даже не жалуется на наличие заголовков, когда я помещаю их туда для app2.
Из того, что я понимаю о cors origins, подключение с разных портов имеет значение; я просто не понимаю, почему это работает для приложения на порту 5002, а не на порту 5000. Может ли кто-нибудь дать мне некоторое представление об этом и как я могу заставить это работать?
Конечно, спасибо.