Como especificar quais eth interface de servidor de teste Django deve escutar?
-
19-09-2019 - |
Pergunta
Como o título diz, em um múltiplas interfaces ethernet com ambiente IP múltipla, o servidor de teste Django padrão é não ligado à rede que eu possa acessar do meu PC. Existe alguma maneira para especificar a interface que servidor de teste Django deve usar?
- Adicionado -
A configuração de rede é aqui. Estou ligando para a máquina via 143.248.x.y endereço do meu PC. (My PC também está em rede 143.248.a.b). Mas eu não posso encontrar este endereço. apache normal funciona muito bem, bem como outros daemons personalizados executados em outros portos.
A pessoa que configurou esta máquina não é mim, então eu não sei muitos detalhes da rede ...
eth0 Link encap:Ethernet HWaddr 00:15:17:88:97:78
inet addr:192.168.6.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe88:9778/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:441917680 errors:0 dropped:0 overruns:0 frame:0
TX packets:357190979 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:191664873035 (178.5 GB) TX bytes:324846526526 (302.5 GB)
eth1 Link encap:Ethernet HWaddr 00:15:17:88:97:79
inet addr:172.10.1.100 Bcast:172.10.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe88:9779/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1113794891 errors:0 dropped:97 overruns:0 frame:0
TX packets:699821135 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:843942929141 (785.9 GB) TX bytes:838436421169 (780.8 GB)
Base address:0x2000 Memory:b8800000-b8820000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1085510396 errors:0 dropped:0 overruns:0 frame:0
TX packets:1085510396 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:422100792153 (393.1 GB) TX bytes:422100792153 (393.1 GB)
peth0 Link encap:Ethernet HWaddr 00:15:17:88:97:78
inet6 addr: fe80::215:17ff:fe88:9778/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:441918386 errors:0 dropped:742 overruns:0 frame:0
TX packets:515286699 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:199626686230 (185.9 GB) TX bytes:337365591758 (314.1 GB)
Base address:0x2020 Memory:b8820000-b8840000
veth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
veth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
veth2 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
veth3 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vif0.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vif0.1 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vif0.2 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vif0.3 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
- Adicionado (2) -
Finalmente eu usei w3m (um navegador web em modo texto que funciona no terminal) para ligar a partir de localhost. : P
Solução
Eu acho que o OP está se referindo a ter várias interfaces configuradas na máquina de teste.
Você pode especificar o endereço IP que o Django irá ligar para o seguinte:
# python manage.py runserver 0.0.0.0:8000
Esta ligaria Django a todas as interfaces na porta 8000. Você pode passar qualquer endereço IP ativo no lugar de 0.0.0.0, então simplesmente usar o endereço IP da interface que deseja vincular a.
Espero que isso ajude.
Outras dicas
Sim, se o IP de sua interface é por exemplo 192.168.1.2 e você deseja executar na porta 8080, iniciar o servidor de desenvolvimento como esta:
./manage.py runserver 192.168.1.2:8080
No. Não é assim que funciona. A interface tem um endereço IP, você tem uma rede com o servidor de teste e seu PC. Você deve conectar a esse IP (possivelmente com uma porta alternativa que especificou), e isso é tudo. Se você tiver apenas esses dois dispositivos na rede, é mais provável que ambos devem ter endereços IP estáticos. (Ou, se não houver rede mútuo, você não pode se conectar uns com os outros).