Bối cảnh: Tôi đã viết một ứng dụng Django mà bây giờ tôi đã triển khai tới Elastic Beanstalk (AWS).Tiêu đề tùy chỉnh thiếu trong các yêu cầu để Django
Trong phát triển địa phương, tôi đã sử dụng tiêu đề yêu cầu tùy chỉnh SESSION_TOKEN
mà sau đó tôi có thể truy cập bằng cách sử dụng request.META.get('HTTP_SESSION_TOKEN')
. Trong sản xuất tôi thấy lỗi vì tiêu đề đó không thể truy cập được (hay còn gọi là nó chỉ đơn giản là thiếu trong tất cả các yêu cầu máy chủ Django của tôi đang nhìn thấy).
Ngoài ra các tiêu đề chuẩn khác của tôi đang hoạt động tốt, nó chỉ là tiêu đề tùy chỉnh bị thiếu. Lưu ý Tôi không đặt HTTP_AUTHORIZATION
, đây không phải là vấn đề tương tự như Authorization header missing in django rest_framework, is apache to blame?.
gì đang xảy ra vậy? Làm cách nào để truy cập các tiêu đề tùy chỉnh trên chương trình phụ trợ của tôi trong sản xuất?
Đặt tiêu đề trong yêu cầu của tôi thành 'Mã phiên' và đọc chúng thành 'HTTP_SESSION_TOKEN' đã giải quyết vấn đề. Cảm ơn! – owencm
bất kỳ lý do nào bạn không sử dụng ứng dụng phiên chuẩn của Django sử dụng cookie thay vì tiêu đề để chuyển id phiên. Điều đó có vẻ an toàn hơn vì bạn có thể chỉ định để sử dụng cookie chỉ trong các kết nối an toàn, vv (không phải 100% fool-proof nhưng ít nhất một cái gì đó của nó) – miki725
tôi ban đầu được sử dụng Django như một backend API để một ứng dụng bản địa, vì vậy đây là điều hiển nhiên điều cần làm. Tôi đã kể từ khi chuyển sang xây dựng một khách hàng web, nhưng đã lo lắng về vấn đề CSRF với cookie và cách tiếp cận hiện tại của tôi đã làm việc tốt vì vậy tôi giữ nó :) – owencm