Я использую Kubernetes в Microsoft Azure версии 1.12.6 и установил вход, используя последнюю диаграмму helm.
Мое приложение использует настраиваемый заголовок с именем api_key
, и когда запрос поступает извне кластера, через контроллер заголовок фильтруется. Я добавил все аннотации, чтобы разрешить все пользовательские заголовки, и это работает, когда я использую случайные заголовки, такие как custom
или cluster
. В основном любой заголовок проходит, но api_key
.
Это мое определение доступа nginx:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: test-vizix-io
name: vizix-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-headers: "Authorization, Origin, X-Requested-With, Content-Type, Accept, api_key"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- test.vizix.io
secretName: test-vizix-io-ingress-tls
rules:
- host: test.vizix.io
http:
paths:
- path: /
backend:
serviceName: proxy
servicePort: 80
Я поместил прокси-сервер Caddy, чтобы регистрировать заголовки, которые достигают. Используя эту строку в файле конфигурации Caddy:
log / stdout "{remote} - {user} [{when}] \"{method} {>Header} {>migs} {>api_key} {uri} {proto}\" {status} {size} {latency}"
Это будет регистрировать заголовки, которые имеют значения: Header, migs, api_key.
This is curl with the migs header:
$ curl http://test.vizix.io/flow -H "migs: custom-header-test"
Caddy Logs:
172.20.0.17 - - [21/Mar/2019:00:37:43 +0000] "GET - custom-header - /flow
HTTP/1.1" 200 2 6ms
Но при использовании заголовка api_key
ничего не выходит:
This is curl with the api_key header:
$ curl http://test.vizix.io/flow -H "api_key: custom-header-test"
Caddy Logs:
172.20.0.17 - - [21/Mar/2019:00:37:43 +0000] "GET - - /flow
HTTP/1.1" 200 2 6ms
Любой совет? Не уверен, что это ошибка, которую мне нужно отправить в Nginx