2014-11-27 3 views
1

mod_wsgi를 사용하여 apache2 서버에서 django 웹 응용 프로그램을 제공하려고합니다. 내 신청서에는 oauth2 인증 시스템이 있습니다. 서버에 내 자격 증명을 보내고 문제없이 내 토큰을 가져옵니다. 하지만 그 후 나는 다음을 보낸다 :WSGIPassAuthorization On이 작동하지 않습니다.

Authorization: Bearer HERE_TOKEN 

그러나 불행하게도 나는 데이터를 얻을 수 없다. 나는 인터넷에서 수색을하고 해결책을 찾는다. 아파치의 config 파일에 httpd.conf라는 파일이 있어야합니다 :

추가했습니다. 그러나 아무것도 바뀌지 않았습니다. 클라이언트 응용 프로그램을 검사하면 요청 된 헤더가 표시됩니다. 인증 헤더가 없습니다. 인증 헤더를 서버로 보내려면 어떻게해야합니까?

+0

나는 VirtualHost를 사용하고, 루트 폴더를 사용하고, WSHIPassAuthorization을 VirtualHost에 넣었으며, 몇 가지 옵션을 사용했다. 그러나이 방법을 사용하지 않았다. – yeulucay

+0

Any any luck with this? 나는 가지고 있고 달릴 수 없다. – lemonpro

+0

실제로 Apache 설정 파일에 WSGIPassAuthorization On을 추가했을 때 수정되었습니다. 하지만 요청의 URL 끝에 "/"을 넣지 않았기 때문에 오류가 발생했습니다. 권한 부여 헤더 문제가 아직 진행 중이라고 생각했지만 실제로는 올바르다. 어쩌면 당신은 그런 종류의 문제가 있습니까 ?? @lemonpro – yeulucay

답변

1

Apache에 연결하고 etc/httpd/conf.d 폴더로 이동하여 wsgi.conf 파일을 엽니 다. VirtualHost DOM 내에 코드를 삽입하십시오 :

WSGIPassAuthorization On 

RewriteEngine on 
RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 

서버를 다시 시작하십시오.

0

누군가 내가 이처럼 머리카락을 찢어 내고 있다면, 사이트에 SSL이 설정되어 있고 * : 443에 대해 별도의 apache 설정 파일이 있는지 확인하십시오.

+0

답변 대신 댓글이 있어야하나요? – Matt