Пользовательские бланки заголовков с использованием Nginx Controller и Azure Kubernetes - PullRequest
0 голосов
/ 21 марта 2019

Я использую 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

...