編碼的世界 / 優質文選 / 財富

關於虛擬機中的Ubuntu和windows中的Django服務器通信的IP問題(NAT網絡連接下Ubuntu中的瀏覽器訪問windows...


2021年10月22日
-   

問題:Ubuntu中的瀏覽器訪問windows中的Django網站,Django中的IP地址應該怎樣綁定才正確?答:將Django服務器的IP地址綁定為虛擬網卡的IP地址。環境:pycharm、Ubuntu(虛擬機,NAT網絡連接方式)、windows、python3、Django==1.11.11 首先查看windows的IP-》打開windows終端輸入命令:ipconfig》查看IP,如圖:

查看Ubuntu的IP》Ubuntu終端中輸入命令:ifconfig -》查看Ubuntu的IP,如圖:

Django默認的IP地址及端口為127.0.0.1:8000,127.0.0.1該IP為本地回環IP,該IP只能在當前系統中訪問,即windows中訪問的是windows中的127.0.0.1,Ubuntu中訪問也只能訪問Ubuntu的127.0.0.1,Ubuntu無法訪問到windows的127.0.0.1.
綁定windows的真實IP,Ubuntu內是可以訪問到windows下的Django服務器的,但是由於虛擬機和Django服務器不在相同的IP段,虛擬機會通過windows訪問Django  ①,此時訪問Django的IP就變成了windows的IP了,顯然這不是我們想要的(具體請求的IP地址可以在request請求頭中查看到)。
最後嘗試綁定虛擬網卡的IP,如我的虛擬網卡的IP為:192.168.111.1或192.168.213.1,綁定這兩個IP後就可以以虛擬機的IP正常訪問Django了,
①:NAT 模式下 虛擬機會和windows組成一個局域網,共享windows的IP來接入到互聯網,也就是當請求的IP不在該局域網的網段時,虛擬機就需要通過windows的真實IP來間接訪問。
具體實現細節不再詳細展示說明!
完!

熱門文章