Disclaimer:Thiếu tiêu đề tùy chỉnh với django, nginx và gunicorn
Tôi đang làm việc trong một dự án nơi tồn tại một webapp "khổng lồ" có một api cho điện thoại di động, vì vậy thay đổi api không phải là một lựa chọn.
Ứng dụng này được phát triển thời gian trước đây và một số nhà phát triển đã làm việc trên nó,
Có nói rằng, vấn đề là thế này;
Trong api dành cho di động của trang web này (chỉ xem hơn việc quay lại dữ liệu json), mã đang tìm kiếm một mã thông báo nhưng không trong tiêu đề yêu cầu:
token = request.META.get('HTTP_TOKEN')
Khi tôi kiểm tra api này tại địa phương, hoạt động tốt, nhưng trong sản xuất không, vì vậy, tôi cố gắng tìm ra những gì đang xảy ra và thấy điều này:
django chuyển đổi tiêu đề, thậm chí tiêu đề tùy chỉnh thành khóa theo yêu cầu.META, tôi sử dụng urllib2 và requests để kiểm tra api và vấn đề trong sản xuất là trong máy chủ sản xuất request.META không bao giờ có một khóa gọi là HTTP_TOKEN, do đó, làm một chút gỡ lỗi tôi s eriously nghĩ rằng vấn đề là cách chúng tôi phục vụ các ứng dụng django.
Chúng tôi đang sử dụng django1.3, nginx, gunicorn, virtualenvwrapper, python2.7.
nghi ngờ chính của tôi là nginx, tôi nghĩ, trong một vài nginx nhận được tiêu đề nhưng don 'chuyển tiếp nó đến django, tôi cố gắng làm một số nghiên cứu về điều này, nhưng tôi chỉ tìm thấy thông tin về tiêu đề bảo mật và tiêu đề tùy chỉnh từ nginx, nhưng tôi không tìm thấy doc hoặc một cái gì đó về cách nói với nginx cho phép tiêu đề đó và không loại bỏ nó.
Tôi cần trợ giúp ở đây, điều đầu tiên là kiểm tra xem nginx có nhận được tiêu đề hay không, nhưng tôi chỉ biết một chút về nginx và tôi không biết cách ghi lại tiêu đề yêu cầu.
Cảm ơn
Cập nhật
Bạn có thể chứng minh giả định rằng? Đăng nhập một yêu cầu cả từ nginx và django, và chắc chắn rằng có thực sự là một sự khác biệt trong các tiêu đề HTTP. –
Một phần là vấn đề, trong thử nghiệm, một kịch bản sử dụng urllib2 và yêu cầu tôi definte các tiêu đề tôi gửi, trong xem tôi in các tiêu đề tôi nhận được, trong máy chủ developmente, tiêu đề là tốt, nhưng trong django sản xuất không nhận được Tiêu đề HTTP_TOKEN. – diegueus9
Với điều đó tôi đang tìm một cách để nói với các tiêu đề yêu cầu in nginx nhưng tài liệu hơi khủng khiếp – diegueus9