включена строгая проверка типов 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.