Получение 502 Bad Gateway nginx / 1.13.9 для моего приложения angular в k8 - PullRequest
0 голосов
/ 07 января 2020

Я получаю 502 Bad Gateway nginx / 1.13.9 для моего angular приложения при доступе в браузере в k8. Мой сервис и вход такие, как показано ниже.

Angular Журналы модуля приложений показывают, что все успешно, и фактически переадресация портов работает нормально. Это же изображение также отлично работает на моем локальном компьютере с docker.

Из журналов k8s, я мог видеть это:

[ошибка] 1534 # 1534: * 32272457 SSL_do_handshake () не удалось (SSL: ошибка: 1408F10B: подпрограммы SSL: ssl3_get_record: неправильный номер версии) во время подтверждения связи SSL с восходящим потоком

Служба:


Name:              test-portal
Namespace:         testproject
Labels:            app=test-portal
                   chart=test-portal-1.0.0
                   environment=dev
                   heritage=Tiller
                   release=test-portal
                   version=dev
Annotations:       <none>
Selector:          app=test-portal,release=test-portal
Type:              ClusterIP
IP:                x.x.x.x
Port:              <unset>  80/TCP
TargetPort:        4200/TCP
Endpoints:         x.x.x.x:4200
Session Affinity:  None
Events:            <none>

Вход:


Name:             test-portal
Namespace:        testproject
Address:
Default backend:  default-http-backend:80 (<none>)
TLS:
  SNI routes test-portal.us-west-2.xxxxx.xxxxxx.delivery
Rules:
  Host                                                       Path  Backends
  ----                                                       ----  --------
  test-portal.us-west-2.xxxxx.xxxxxx.delivery
                                                             /  test-portal:80 (<none>)
Annotations:
  secure-backends:  true
  ssl-redirect:     true
Events:             <none>

Карта входной конфигурации


apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/secure-backends: "false"
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"ingress.kubernetes.io/secure-backends":"false","kubernetes.io/ingress.class":"nginx"},"labels":{"app":"test-portal","chart":"test-portal-1.0.0","environment":"dev","heritage":"test-portal","release":"Helm","version":"1.0.0"},"name":"test-portal","namespace":"testproject"},"spec":{"rules":[{"host":"test-portal.us-west-2.xxxx.xxxxxxxxx.delivery","http":{"paths":[{"backend":{"serviceName":"test-portal","servicePort":80},"path":"/"}]}}],"tls":[{"hosts":["test-portal.us-west-2.xxxx.xxxxxxxxx.delivery"]}]}}
    kubernetes.io/ingress.class: nginx
  creationTimestamp: 2020-01-08T11:24:18Z
  generation: 1
  labels:
    app: test-portal
    chart: test-portal-1.0.0
    environment: dev
    heritage: test-portal
    release: Helm
    version: 1.0.0
  name: test-portal
  namespace: testproject
  resourceVersion: "2379156945"
  selfLink: /apis/extensions/v1beta1/namespaces/testproject/ingresses/test-portal
  uid: 6925819b-3209-11ea-80fb-02fb0c9060d8
spec:
  rules:
  - host: test-portal.us-west-2.xxxx.xxxxxxxxx.delivery
    http:
      paths:
      - backend:
          serviceName: test-portal
          servicePort: 80
        path: /
  tls:
  - hosts:
    - test-portal.us-west-2.xxxx.xxxxxxxxx.delivery
status:
  loadBalancer:
    ingress:
    - {}

1 Ответ

0 голосов
/ 07 января 2020

Вы, кажется, используете сервер angular dev на порте 4200 в вашем модуле. Приложение angular обслуживается с использованием http, а не https, поэтому необходимо настроить вход, чтобы не использовать https (secure-backends: false ) для взаимодействия с бэкэндом.

Кроме того, * Сервер 1008 * dev не должен использоваться для обслуживания продуктов. Создайте образ контейнера с помощью angular prod build, чтобы значительно повысить производительность.

...