Django Kubernetes Ingress CSRF Cookie не отправлен
Задаю этот вопрос здесь, потому что прошло уже несколько дней и я не могу найти ничего полезного.
Проблема: У меня есть приложение, развернутое на кластере Kubernetes, работающем на AWS EKS с пользовательским образом докера на AWS ECR. Приложение отлично работает с GET-запросами, но не с POST-запросами. Выдается ошибка Errore 403 forbidden CSRF Token not sent
. Версия Django - 2.2.24 на DRF 3.11.2. Я уже добавил CSRF_TRUSTED_ORIGINS в settings.py, ничего не изменилось
На входе я использую балансировщик нагрузки приложений AWS, настроенный следующим образом:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: django
labels:
name: django
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80}]'
alb.ingress.kubernetes.io/group.name: "alta"
alb.ingress.kubernetes.io/group.order: "2"
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
alb.ingress.kubernetes.io/healthcheck-path: /v1/app
alb.ingress.kubernetes.io/healthcheck-interval-seconds: "15"
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: "5"
alb.ingress.kubernetes.io/success-codes: "200"
alb.ingress.kubernetes.io/healthy-threshold-count: "2"
alb.ingress.kubernetes.io/unhealthy-threshold-count: "2"
spec:
ingressClassName: alb
rules:
- http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: djangoapp-cluster-ip
port:
number: 80
Любая помощь будет высоко оценена.
В старых версиях значение CSRF cookie было замаскировано.
попробуйте это ссылка
также думаю, что декоратор может вам помочь
views.py
from django.views.decorators.csrf import csrf_exempt
@method_decorator(csrf_exempt, name="post")