Kubernetes Nginx загрузить большой файл 400 Нет 'Access-Control-Allow-Origin' - PullRequest
0 голосов
/ 25 сентября 2018

Когда я сохраняю значение по умолчанию proxy_body_size: 8m для nginx.Я не могу загрузить файл размером> 8M.Затем я настраиваю аннотацию nginx следующим образом:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: "ingress-name"
  annotations:

    nginx.ingress.kubernetes.io/proxy-body-size: 100m

Итак, теперь я могу загружать файлы размером> 8M.Но я попытался загрузить CSV-файл около 50 м, я получил ошибку

Не удалось загрузить https://api.domain.xxx/import: Нет заголовка «Access-Control-Allow-Origin» на запрошенномресурс.Источник 'https://web.domain.xxx/', следовательно, не имеет доступа.Ответ был HTTP-код состояния 400.

Кто-нибудь может помочь мне загрузить большой максимальный файл составляет 100 м?

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Проблема в том, что вы пытаетесь загрузить файл из домена, отличного от указанного во входе.Это может быть тот же домен, но другой порт, протокол (http / https), с префиксом www. И т. Д.

По умолчанию браузер не разрешает такие запросы из-за проблем безопасности.Чтобы разрешить их, вы должны включить CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

К счастью, включить CORS во входе довольно просто, просто добавьте следующие аннотации к входному ресурсу вашего API:

nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-origin: "https://web.domain.xxx"

Подробнееинформация об этих аннотациях здесь

...