Обратный прокси-сайт с поддержкой SNI с использованием kubernetes nginx-ingress - PullRequest
0 голосов
/ 02 октября 2019

Я устанавливаю обратный прокси-сервер с помощью kubernetes nginx-ingress, но я не знаю, как добавить параметры nginx в конфигурацию, а именно: proxy_ssl_server_name . Как настроить параметры входа в конфигурациях yaml?

Я уже пытался использовать аннотацию server-snippet , но похоже, что он не добавляет параметр в файл nginx.conf в кластереpods.

Вот текущий код для обратного прокси:

kind: Service
apiVersion: v1
metadata:
  name: formstack
  namespace: serves
spec:
  type: ExternalName
  externalName: fluidsignal.formstack.com
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: formstack
  namespace: serves
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/upstream-vhost: "fluidsignal.formstack.com"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
  - hosts:
    - fluidattacks.com
    secretName: fluidattacks-cert
  rules:
  - host: fluidattacks.com
    http:
      paths:
      - backend:
          serviceName: formstack
          servicePort: 443
        path: /forms(.*)

После настройки прокси я получаю ошибку 502 Bad Gateway от Nginx. После просмотра журналов pods я вижу следующую ошибку openssl: SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40, поэтому я хочу добавить параметр, который я упоминал ранее.

1 Ответ

1 голос
/ 02 октября 2019

Я только что понял, что я действительно использовал правильную аннотацию: nginx.ingress.kubernetes.io/server-snippet,

Но мне нужно было добавить дополнительный параметр: proxy_ssl_name

Добавление следующего кода исправилопроблема:

nginx.ingress.kubernetes.io/server-snippet: |
  proxy_ssl_name fluidsignal.formstack.com;
  proxy_ssl_server_name on;

Кажется, теперь все работает нормально: D

...