Извините, если это очень невежественный вопрос, но может ли посол по-настоящему работать с заголовками CORS и ответами OPTION перед полетом?
Документы (https://www.getambassador.io/reference/cors) кажутся мне двусмысленными, если есть только ловушки для предотвращения запросов или если он действительно может отвечать от имени служб.
Вот моя ситуация: посол перед всеми http-запросами к некоторым микросервисам. По [причинам] нам сейчас нужен отдельный домен для отправки запросов одному и тому же послу.
У меня настроен AuthService, и в соответствии с документацией «Когда вы используете внешнюю авторизацию, каждый входящий запрос аутентифицируется перед маршрутизацией к месту назначения, включая запросы перед полетом OPTIONS». Что имеет смысл, и вот что я вижу. Мой AuthService настроен, чтобы разрешить вещи правильно, и это, кажется, работает. AuthService отвечает соответствующими заголовками, но посол, кажется, просто игнорирует это и заботится только, отвечает ли AuthService 200 или нет. (Что кажется вполне разумным.)
Я аннотировал это на моем посольском модуле:
getambassador.io/config: |
---
apiVersion: ambassador/v1
kind: Module
name: ambassador
config:
service_port: 8080
cors:
origins: [my domain here]
credentials: true
И это, кажется, не делает то, что я ожидал, а именно, обрабатывает заголовки CORS и перед полетом ... вместо этого он направляет его в службу для обработки всего материала CORS.