Решил вместо nginx-ingress-controller, поставить haproxy-ingress-controller, потому что запросы, из-за CORS, просто не долетали до gateway. На haproxy я успешно навесил логи, и так же навесил логи на все входящие запросы на gateway. Абсолютно все настройки CORS, отключены или отсутствуют в haproxy, при этом установленны в самом gateway.
По итогу браузер, при попытке отправить запрос с фронта на gateway выдаёт ошибку о том, что в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin»:
Access to XMLHttpRequest at 'https://gateway.domen.tech/auth/login' from origin 'https://front.domen.tech' 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.
Сам фронт отправляет два запроса, один из которых OPTIONS. Вот заголовки:
Первый запрос:
Authorization: Basic vsyakayabeleberda
Content-type: application/json; charset=utf-8
Referer: https://front.domen.tech/
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
Второй запрос (OPTIONS):
:authority: gateway.domen.tech
:method: OPTIONS
:path: /auth/login
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
access-control-request-headers: authorization,content-type
access-control-request-method: POST
origin: https://front.domen.tech
referer: https://front.domen.tech/
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: same-site
Если смотреть логи самого haproxy, то эти два запроса успешно прилетают. Но вот в логах самого приложения gateway - пусто. Сами логи приложения отрабатывают, если делать запросы из самого домена gateway.domen.tech. То есть, сам haproxy (или, как в прошлый раз было - nginx), не пропускает запрос до приложения gateway.
В чём может быть ошибка? Я уже не понимаю куда копать. Я хочу чтобы корсами регулировало само приложение, а не ingress-controller. А по итогу всё, кажется, наоборот((
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Да, вижу. Как я и писал, CORS настройки у меня установлены в самом приложении: gateway. И там этот заголовок стоит
Обсуждают сегодня