В настоящее время пытаюсь решить эту проблему, я просмотрел много сообщений, но все еще не могу решить эту проблему, поэтому это сообщение для сообщества:)
Я создаю среду разработки / тестирования для веб-сайта на основе Flask и мне приходится дублировать текущий веб-сайт на поддомен, например, от mydomain.com
до dev.mydomain.com
и т. д. для дополнительных сопутствующих услуг, таких как поиск elasti c (например, от es.mydomain.com
до es-dev.mydomain.com
).
Итак, я развернул все через Nginx, основной сайт dev.mydomain.com
и все службы работают и доступны. НО я не могу войти в Flask, что выдает мне ошибку 400 missing CSRF session token
, когда на самом деле есть 2 токена сеанса ... кажется, что 1 дубликат создается в процессе отправки формы, поскольку повар ie держит 2 session
ключи.
Перед отправкой формы
- Оригинальный повар ie ключи:
_ga=...
; _gid=...
; session=...
- Девчонка ie ключи:
session=...
; Domain=.dev.mydomain.com
; Secure
; HttpOnly
; Path=/
После отправки формы
- Оригинальный веб-сайт повара ie ключи:
_ga=...
; _gid=...
; session=...
- Dev wbesite cook ie ключи:
_ga=...
; _gid=...
; session=...
; session=...
CSRF включен для всего приложения через csrf.init_app(app)
, и моя конфигурация Flask:
SECRET_KEY = os.getenv("SECRET_KEY")
SESSION_COOKIE_SECURE = True
SESSION_COOKIE_HTTPONLY = True
REMEMBER_COOKIE_SECURE = True
REMEMBER_COOKIE_HTTPONLY = True
Я пробую разные варианты конфигурации, но без улучшения пока ...
Как всегда, будет полезна некоторая помощь, заранее спасибо:)