아파치에서 두 개의 장고 사이트를 실행 중입니다. 하나는 API의 데모 페이지이므로 HTTP basic auth로 인증 된 다른 API 호출을 만듭니다. 나도 같은 사이트에서 같은 일을 시도했지만 같은 문제가 있었다.같은 아파치 서버에 두 개의 Django 사이트 - 403 권한이 부여 된 사이의 기본 인증
요청이있을 때 Apache는 403 오류 메시지/페이지를 제공합니다.
다음은 필요한 부분은 API 서버에 대한 가상 호스트입니다 :
<VirtualHost 12.34.567.890:80>
ServerAdmin [email protected]
ServerName dev.example.com
ServerAlias dev.example.com
ErrorLog /var/log/apache2/lab-error.log
WSGIScriptAlias//webapps/lab/lab-wsgi.py
WSGIPassAuthorization On
<Directory /webapps/lab>
<Files lab-wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
그리고 이것은 데모 사이트 가상 호스트입니다 :
<VirtualHost 12.34.567.890:80>
ServerAdmin [email protected]
ServerName dvdemo.example.com
ServerAlias dvdemo.example.com
ErrorLog /var/log/apache2/demo-error.log
WSGIScriptAlias//webapps/lab/demo/Demo/wsgi.py
WSGIPassAuthorization On
<Directory /webapps/lab/demo/Demo>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
</VirtualHost>
것 같다, 그 나는 WSGIPassAuthorization On
의가 있지만, 기본 인증은 아파치 (아파치 403 페이지는 인증 실패시 Django의 JSON 오류와 반대 됨)에서 처리됩니다.
로컬 컴퓨터에서 API 서버로 동일한 요청을하면 작동합니다.
무엇이 잘못되었거나 앞으로 조사해야 할 사항에 대한 제안 사항이 있습니까? 감사합니다
명확화를 위해 편집 : API 서버에 데모 페이지/사이트를 만들려고 시도하는 OAuth2 API가 있습니다. cURL 또는 다른 서버를 통해 API를 작성하면 API 요청이 성공하고 API와 동일한 서버 (다른 가상 호스트 또는 동일한 가상 호스트)에서 요청을 보낸 경우에만 문제가 발생합니다.
예, 장고는 확실히 HTTP 기본 인증을 사용하고 있습니다. API 서버에는 데모 페이지/사이트를 만들려고하는 OAuth2 API가 있습니다. 내가 말했듯이, 그것은 동일한 서버를 제외하고 어느 곳에서나 API 엔드 포인트를 요청합니다. 또한 내가 언급 한 것처럼 Files 지시문을 수정하려고 시도했지만, 단지 운이 좋았습니다. – chrisg