기본적으로 Django의 관리자페이지는 http://mydomain.com/admin 식으

 
Seokmoon Jang

기본적으로 Django의 관리자페이지는 http://mydomain.com/admin 식으로 주소 뒤에 admin을 붙여서 들어가게 되는데 이런 식으로 운영도 가능할까요?

사용자측 주소 : http://mydomain.com/
관리자페이지 : http://backend.mydomain.com/

단독으로는 할 수 없고 웹서버 설정이 필요하다면 어떻게 설정해야 할까요?

  • Yuk Seungchan

    Admin만 돌아가는 settings 따로만드셔서 nginx나 apache랑 연동하면 가능 할것 같네요:D

    Kenial Lee

    전에 잠시 고민해 본 바로는, http://backend.mydomain.com -> http://mydomain.com/admin으로 포워딩하도록 웹서버에서 구성하는게 가장 일이 적은 것 같더라구요. /admin 패스에 접속을 시도하는 나쁜 놈들(…)이 싫으시다면 /admin 패스 경로만 urls.py에서 다른 걸로 변경하시면 되고요 🙂

    Seokmoon Jang

    이수겸 한 도메인에서 운영하는 것이라면 패스경로만 바꾸는게 편하지요. 그런데 frontend와 Backend를 분리해서 운영하는게 목적이라서요.일종의 제약사항이랄까….

    Kenial Lee

    흠… 그런거면 어차피 별도의 django instance를 각각 운영하는 셈이니, backend를 담당할 호스트에서 admin 앱을 / 패스에 할당하면 되지 않을까요? 그러면 애초에 웹서버 설정조차도 필요 없고 서브도메인에 호스트 ip만 맞게 할당해주면 되겠죠. front/back이 동일 호스트에 존재하는 경우라고 하더라도 각각 다른 django app으로 실행하고 별도 포트에서 동작하되, nginx에서 도메인에 따라 맞는 app으로 연결해주면 될 것 같은데요.

    Julian Yoonhong Ju

    가능한데요…

    Julian Yoonhong Ju

    일단, /admin은 결국 django default에서 붙여준 url이니까, 결국 아무거나 매핑해도 상관은 없는걸로 알고 있습니다. 이걸 루트에 붙여버리면 되고…
    한 django instance로 여러 사이트를 운영하는것은 원래부터 가능했던걸로 알고 있습니다.
    그러니까 /admin없는 걸 SITE_ID = 1, 그리고 root에 admin을 붙인걸 SITE_ID=2이런식으로 설정하면 가장 간단 할것같은데요

    Seokmoon Jang

    Julian Yoonhong Ju 흠… 그 부분은 좀 더 찾아봐야겠네요.

    Seokmoon Jang

    육승찬 이수겸 Julian Yoonhong Ju 모든 분들 감사합니다.

Advertisements