Tôi gặp sự cố nhỏ với Máy chủ Apache 2.2.15 của tôi. Tôi đang chạy một ứng dụng Django trên đầu trang của nó với mod_wsgi. Tôi đã kích hoạt WSGIPassAuthorization On
, giúp xác thực cơ bản hoạt động tốt. Nhưng gần đây tôi đã triển khai OAuth2.0 để bảo mật API của tôi (Implicit Grant) và tôi nghĩ Apache sẽ không cho phép nó vượt qua vì nó có dạng "Mã ủy quyền: Mã thông báo gấu". "Bearer" là vấn đề tôi đoán, mặc dù tôi không biết làm thế nào để tránh điều đó.Apache dải xuống tiêu đề "Ủy quyền"
tôi đã cố gắng:
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
Trong httpd.conf, .htaccess (sau khi thiết AllowOverride All
), và trong vhost của tôi. Không có gì để làm, không hoạt động. Tôi đã thu thập dữ liệu Internet cả ngày và không tìm thấy gì ngoài hai giải pháp đó.
Cảm ơn bạn trước!
EDIT:
OS : RedHatEL6.4
Apache : 2.2.15
Django: 1.6.6 w/ django-oauth-toolkit
Python: 2.7.8
Tôi tin [NÀY] (http://stackoverflow.com/a/13387616/2634075) là những gì bạn đang tìm kiếm? Tôi biết đây là cùng một mã như bạn đã sử dụng - nhưng làm thế nào chắc chắn là bạn mà apache là đọc hoặc là ** a) Tập tin .htaccess của bạn ** * hoặc * ** b) Tập tin httpd.conf ** cũng vui lòng thử * * khởi động lại apache hoàn toàn **. Một điều tôi nhận thấy với một số chương trình Python là yêu cầu để có mod_proxy được kích hoạt mà sẽ cung cấp cho bạn một lớp phức tạp. – JustSteveKing
Tôi không chắc chắn về .htaccess, mặc dù gần như chắc chắn nó đang đọc httpd.conf (sửa đổi trong tập tin này ảnh hưởng đến hành vi của máy chủ). Có bất kỳ vị trí cụ thể trong tập tin tôi nên đặt những dòng mặc dù? Cảm ơn bạn đã trả lời btw của bạn, và tôi vừa kiểm tra, mod_proxy được kích hoạt. Tôi khởi động lại với 'apachectl restart' và 'apachectl stop; apachectl start', không giải quyết được vấn đề: /. –
Ok để bắt đầu với những gì bạn cần chạy là 'service httpd restart' để khởi động lại apache đúng trên máy chủ RH/CentOS. Điều này có thể gây ra sự cố cho bạn. ** C ALNG ** Tôi sẽ không thực hiện những thay đổi này ở tất cả để http.conf vì đây là tệp cấu hình chính cho apache - ** NOT ** tệp cấu hình cho trang web của bạn. Bạn muốn chỉnh sửa mọi thứ trong '/ etc/httpd/conf.d/yourSite.conf' vì vậy tôi khuyên bạn nên tìm và hủy bỏ bất kỳ thay đổi nào bạn đã thực hiện đối với cấu hình apache mặc định. – JustSteveKing