включена строгая проверка типов MIME. Проблема с PGAdmin в шлюзе приложений Azure.

Я пытаюсь установить pgAdmin (изображение: «dpage/pgadmin4:6.21») в Azure AKS. Я могу получить доступ к приложению, когда использую службу Kubernetes LoadBalancer, но когда я использую шлюз приложений Azure с Ingress, страница входа отображается без проблем. Однако после входа в систему он зависает на странице загрузки.

Когда я проверил консоль браузера, я обнаружил следующую ошибку:

Отказался выполнять скрипт из «https://somedomain.xyz.cloudapp.azure.com/pgadmin4/login?next=%2Fpgadmin4%2Fbrowser%2F», поскольку его тип MIME («текст/html») не является исполняемым и строгим. Проверка типа MIME включена.

Я почти уверен, что проблема не связана с установкой pgAdmin, поскольку он уже работает со службой Kubernetes LoadBalancer. Я нашел несколько обходных путей, позволяющих избавиться от страницы загрузки, добавив несколько строк в сценарии pgAdmin (поскольку предполагается, что в pgAdmin есть ошибка), но мне не удалось реализовать эти обходные пути.

Я также безуспешно пытался изменить конфигурацию Ingress. Есть ли какая-либо рекомендация или способ отследить проблему и найти основную причину?»

входная реализация:

      apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: pgadmin-ingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/ssl-redirect: "false"
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "devaks-cert"
    appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
spec:
  rules:
    - http:
        paths:
          - path: /pgadmin4/*
            pathType: ImplementationSpecific
            backend:
              service:
                name: pgadmin
                port:
                  number: 80

1 ответ

У нас есть аналогичная настройка, в которой шлюз приложений Azure находится перед pgadmin, развернутым в AKS, и обновление следующей конфигурации решает проблему для нас, создав дополнительный файл с именемconfig_distro.py

        X_CONTENT_TYPE_OPTIONS = ""    # default value is nosniff
  ENHANCED_COOKIE_PROTECTION = False
  X_XSS_PROTECTION = "0"  # default value is '1; mode=block'

Подробное описание этих конфигураций можно найти по URL-адресу https://www.pgadmin.org/docs/pgadmin4/latest/config_py.html.

Другие вопросы по тегам