장고(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 : 필요












+ Recent posts