2013-05-12 2 views
9

저는 장고의 내장 서버를 사용하여 사이트를 개발하고 있으며 로컬 IP 주소를 사용하여 서버에 액세스 할 수있는 동일한 네트워크의 다른 컴퓨터를 원합니다. 나는 이것에 관해 많은 게시물을 보았고 모든 제안을 시도한 후에도 여전히 내 네트워크의 다른 컴퓨터가 사이트에 액세스하는 것을 허용하지 않습니다.다른 컴퓨터에서 Django devserver에 액세스하십시오. 동일한 네트워크

나는

python manage.py runserver 0.0.0.0:8000 

를 사용하여 서버를 실행하고 다음 그림에서 볼 수 있듯이 이미 8000 포트를 열었습니다.

enter image description here

내가 커널 3.8.11-200

어떤 도움에 장고 1.4.2, 파이썬 2.7.3, 페도라 18를 실행하는거야이 높게 평가된다. 감사.

답변

11

사용 예를 들어 python manage.py runserver <ip>:<port>

, 내 IP가 192.168.0.100이고 나는 포트 80에서 장고 응용 프로그램을 실행하려면, 나는, 어쩌면 때문에

[sudo] python manage.py runserver 192.168.0.100:80 

내 포트 80 필요한 루트 권한을해야 할 다른 응용 프로그램에 액세스하고 있습니다. 192.168.0 네트워크에서이 모든 클라이언트를 이렇게함으로써

는 192.168.0.100

에서 당신은 필요에 따라 장고를 시작하고
+0

감사합니다. Rajeev. 하지만 내 로컬 아파치가 포트 80을 사용하고 포트 8000이 장고 개발자가 사용하는 대부분의 서버 중 하나이므로이 기능이 작동하지 않으므로 새로운 기능을 사용하고 싶지 않습니다. 또한 0.0.0.0:8000은 포트 8000에있는 모든 IP를 나타 내기 때문에 특정 포트에 많은 차이를주지는 않습니다. – Paulo

4

을 사이트에 액세스 할 수 있습니다 - 그것은 어디서나 즉시 연결이 얻을로의 연결을 허용합니다 그것에.

방화벽을 점검하고 8000 포트 연결을 허용하는지 확인하십시오. 이런 식으로 뭔가 작업을해야합니다 : https://docs.djangoproject.com/en/dev/ref/settings/#internal-ips :

iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT 

선택적으로 당신은 원격 디버깅을 허용하도록 설정에서 INTERNAL_IPS 변수를 확장해야합니다.

2

skarap이 정확합니다. 네트워크가 올바르게 설정되어 있고 pytho9n manage.py runserver 0.0.0.0:8000으로 django 응용 프로그램을 실행했지만 여전히 VM 호스트에서 django 응용 프로그램에 액세스 할 수 없으면 거의 확실하게 방화벽 문제가 있습니다. 위의 그림은 iptables를 실행하는 경우에 유용합니다.

Windows 7 호스트에서 VirtualBox VM에 CentOS 7을 배포했습니다. 나는이 배포판이 액세스 제어에 iptables가 아닌 firewalld를 사용한다는 것을 몰랐다. |

추신 -ae

경우 grep firewall 는 602와 같은 것을 반환합니까? 00:00:00 firewalld

시스템에 iptables가 아닌 firewalld가 실행 중입니다. 그들은 함께 뛰지 않는다.

방화벽 cmd를 --zone = 공공 --add 포트 = 8000/TCP --permanent 방화벽 : 당신이 명령을 사용하여 호스트에서 장고 사이트에 액세스 할 수 있도록

당신에게 VM을 해결하려면 -cmd --reload

pablo v 덕분에 http://www.scriptscoop.net 사이트에서이 점을 알려 주셔서 감사합니다.

관련 문제