장고(Django)앱 내부pc 접속테스트_성공기
공인ip --> 공유기 사이트에서 확인 가능(외부망에서 접속시 사용)
내부 고정 x.x.x.x (내부망 접속시 사용, ipconfig -->IPv4 주소)
* 고정 ip적용 후 운좋게 내부 접속되기 시작함.(내부 고정:8000으로..)
* 모두 풀어줘도 외부 접속은 일단 안 됨.
(장고 설정이 더 필요한 듯)
* 내부 접속시의 불필요한 개방은 없애려고 함.
- 장고 서버는 0.0.0.0:8000 으로 가동된 상태임.
- 고정ip 아니어도 접속은 됨, 일단 고정 ip는 유지함.
- 공유기 8000포트 개방 ; 영향 없으므로 다시 차단
- 방화벽의 앱 허용에서 python 모두 풀어줬던 것도 원래 상태로 돌림.
- 방화벽 8000포트 tcp로 '공용' 개방시 접속됨!('개인','도메인'은 불가)
- 방화벽에서 다른 포트로 개방후 cmd 변경된 port로 run해도 접속됨.
- 0.0.0.0:xxxx --> 내부고정ip:xxxx 으로 변경 run 해도 접속 잘 됨.
- 127.0.0.1:xxxx running시 자체 pc에서는 되지만 내부 타pc는 접속 불가
- 장고 settings.py 에서 ['*'] --> [ ] 로 변경 --> 모든 접속 막힘.
- 장고 settings.py 에서 [ ] --> ['내부ip' ] 로 변경 --> 모든 접속 정상화.
---------------------------------------------------------------------------------
* 정리
- 장고 설정에서는 allowed host 에 127.0.0.1 or 내부ip or * 를 넣어야 함.
웹서버의 내부 ip만 넣어도 외부 접속 설정시도 문제는 없을 것으로 보임.
다만, pythonanyware 등 서비스 업체 이용시는 업체의 웹서버 주소가 바뀔 수도 있으므로 * 설정 필요.
- 장고 웹서버 가동시는 내부ip로는 가동해야 내부pc 접속이 가능함. 추후 외부 pc 접속 허용시는 0.0.0.0:port 로 설정해야 할 것임.
- 모든 설정과 개방을 다 해도 윈도우 방화벽 인바운드 개방 규칙 생성 안 하면, 내부 타pc든 외부pc 든 접속 불가함!
- 여기까지가 nas test 시 적용할 설정.
* 외부 개방 시도시 고려사항 : 방화벽 인바운드 포트개발 규칙 생성, 방화벽 허용앱 설정, 공유기 포트포워딩으로 개방...
--------------------------------------------------------------------------------
* 외부pc 접속 테스트(반드시 와이파이망이 아닌 LTE망 핸드폰에서 테스트해야함.)
- 서버는 0.0.0.0:port 로 가동(웹서버 내부 ip로 가동시 외부pc 접속 가능한지는 추가 테스트 필요)
--> 추가 테스트 결과 웹서버 내부 ip로 가동시도 외부 접속 가능함.
- 포트 포워딩 해주고 나니 접속시 메세지가 바뀜.(allowed host 에 추가를 확인해보라는 내용으로)
; 현재는 allowed host 가 웹서버 내부 ip 로 되어 있음.(접속시도시 cmd에 접속 로그 기록됨.)
- allowed host에 공인 ip를 넣어주니 외부 접속은 되지만 내부 접속이 막힘.
- allowed host에 0.0.0.0 으로 넣자 내외부 접속 모두 막힘. 즉, 0.0.0.0은 웹서버 가동시의 all 허용 ip임.
- allowed host에 모든 host ip 허용를 뜻하는 *로 넣으니, 내외부 모두 정상 접속됨.
---------------------------------------------------------------------------------------
[ 웹서버 운영을 위한 테스트 결과 총 정리 ]
* 개발 초기(자체pc만 접속 허용)
; 장고의 기본 run 포트는 8000번임. 외부 개방시는 포트번호 변경하고, 포트포워딩시 내외부 ip 다르게 설정하는게 바람직함. (내부는 개방포트, 외부는 접속자가 입력해야할 아무 포트나; 즉 외부인이 내부 개방 포트를 알 수 없도록)
- django allowed host : ['localhost'] or ['127.0.0.1']
- webserver run : localhost:port or 127.0.0.1:port
- how to connect : localhost:port or 127.0.0.1:port
- window defender : port 허용 안 함.
- port forwarding : 불필요
- fixed IP : 불필요
* 개발 중간(내부망pc까지만 접속 허용)
- django allowed host : ['웹서버 내부ip']
- webserver run : 웹서버 내부ip:port
- how to connect : 웹서버 내부ip:port
- window defender : port 허용 규칙 생성 필요.(공용,내부ip만) --> 추후, 도메인 사용시는 도메인도 추가 선택.
- port forwarding : 불필요
- fixed IP : 상황에 따라
* 개발 마무리 단계(내외부pc 전체 접속 허용)
- django allowed host : ['*']
- webserver run : 웹서버 내부ip:port or 0.0.0.0:port(hosting 업체 사용시)
- how to connect : 공유기 공인ip:port
- window defender : port 허용 규칙 생성(공용,웹서버내부ip만)
- port forwarding : 필요(내외부 port 번호 다르게 개방)
- fixed IP : 필요
'프로그래밍(Programming) > 장고(Python-Django)' 카테고리의 다른 글
synology nas ssh 접속~ synology nas에 django 설치 및 세팅 (0) | 2019.01.06 |
---|---|
django(장고)에서의 requirements.txt (0) | 2019.01.06 |
장고걸스 튜토리얼(djangogirls tutorial) 실습 - 기본 (0) | 2019.01.06 |
django(장고) 실습 : Django 기초 지식, 프로젝트 생성 ~ 앱 생성 및 구성 (0) | 2019.01.06 |
django(장고) 실습 : Virtualbox 및 우분투 가상환경 셋업 ~ Linux-ubuntu 세팅 (0) | 2019.01.06 |