Можем ли мы установить приоритет для промежуточного программного обеспечения в traefik v2? - PullRequest
0 голосов
/ 18 июня 2019

Используя v1.7.9 в kubernetes, я сталкиваюсь с этой проблемой:

если я установлю ограничение скорости (traefik.ingress.kubernetes.io/rate-limit) и пользовательские заголовки ресурса (traefik.ingress.kubernetes.io/rate-limit), то когда запрос получит ограничение скоростипользовательские заголовки не будут установлены.Я думаю, это из-за некоторого порядка / приоритета среди этих плагинов.И я полностью согласен с тем, что достижение предела скорости должно вернуть ответ как можно скорее, но было бы неплохо, если бы мы могли изменить приоритеты, если нам нужно.

Поэтому вопрос таков: Сможем ли мы установить приоритеты для промежуточного программного обеспечения?

Я не смог найти ни одного ключа к этому в документах , ни среди проблем github.

Конкретный вариант использования:

Я хочу, чтобы заголовки политики CORS всегда устанавливались, даже если сработало ограничение скорости. Я хочу это, потому что мой SPA не получит объект ответа в противном случае, потому что браузер выигралне позволяют:

Access to XMLHttpRequest at 'https://api.example.com/api/v1/resource' from origin 'https://cors.exmaple.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

В этом случае было бы хорошим решением, если бы я мог просто установить приоритет промежуточного программного обеспечения заголовков выше, чем промежуточного программного обеспечения ограничения скорости .

1 Ответ

0 голосов
/ 19 июня 2019

Обычные веб-страницы могут использовать объект XMLHttpRequest для отправки и получения данных с удаленных серверов, но они ограничены одной и той же политикой происхождения.Расширения не так ограничены.Расширение может общаться с удаленными серверами за пределами своего источника, если оно сначала запрашивает разрешения между источниками.

1. Попробуйте во время тестирования на локальном компьютере, замените localhost на ваш локальныйIP.Вы должны были достичь CORS с помощью следующей строки кода request.withCredentials = true ;где запрос является экземпляром XMLHttpRequest.Заголовки CORS должны быть добавлены к внутреннему серверу, чтобы разрешить межсайтовый доступ.

2. Вы можете просто написать свой собственный скрипт, который будет отвечать за выполнение промежуточного программного обеспечения ограничения скорости после промежуточного программного обеспечения заголовков.

...