it-swarm-ja.com

アクセスDjangoゲストからの開発サーバーVMマシン

私はUbuntu12.04とDjango開発サーバーを持っています。IEでどのように見えるかをテストするために、仮想ボックスとWin7マシンをインストールしました。

正常に実行され、仮想ボックスゲストマシンからホストマシン(192.168.56.1)にpingを実行できます。

ネットワーク設定:

  • ホストオンリーアダプター
  • 無差別モード:すべてを許可

Django開発サーバーからページを開くことができません。

私はそれを実行します

manage.py runserver 0.0.0.0:8000

または

manage.py runserver 192.168.56.1:8000

192.168.56.1は内部IPにあります。

試しましたブリッジモード。 wlan0とeth0を提供し、どちらもifconfigにIPがありません。

eth0      Link encap:Ethernet  HWaddr e8:9d:87:8d:63:2c  
      UP 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:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Interrupt:20 Memory:c4800000-c4820000 

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:1005005 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1005005 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:192815458 (192.8 MB)  TX bytes:192815458 (192.8 MB)

ppp0      Link encap:Point-to-Point Protocol  
      inet addr:10.64.8.162  P-t-P:10.64.64.64  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:222243 errors:2 dropped:0 overruns:0 frame:0
      TX packets:182316 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:3 
      RX bytes:207954248 (207.9 MB)  TX bytes:24880374 (24.8 MB)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  
      inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
      inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2147 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:386308 (386.3 KB)

wlan0     Link encap:Ethernet  HWaddr d0:df:9a:a2:84:3b  
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:238840 errors:0 dropped:0 overruns:0 frame:0
      TX packets:272881 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:138133962 (138.1 MB)  TX bytes:217297056 (217.2 MB)

NATモードも試してみました。ホストmachideにpingを実行できましたが、Djangoに接続していません(ここでも、pingされたIPはINTERNAL_IPSにあります)。

そしてそれは正しく動作します。ただし、ゲストマシンのIEはhttp://192.168.56.1:8000にアクセスできません。

ゲストマシンでネットワークを設定するにはどうすればよいですか?

2
culebrón

これが解決策です。

  • ゲストマシンのネットワークとしてNATを使用します。
  • 実行Django for 0.0.0.0:8000
  • タイプhttp://10.0.2.2:8000IEで。

プロトコルを書く(http://)アドレスで明示的に、それ以外の場合IE 10.0.2.2:8000をHost:port以外のものとして解釈します(おそらくprotocol:Hostまたはuser:passwordとしてホストなしで)。

後者は私がすべての場合に逃した最後のアイテムでした。

4
culebrón