VirtualBox 虚拟机 CenOs7.3系统的Nginx无法从真机访问,虚拟机的ip地址无效,虚拟机ip地址找不到

这几天在学Spring boot遇到了问题

情况是这样的:

我在真机(win 10)上写springboot运行,调用虚拟机(系统Centos)里的Mysql数据库,也通过访问虚拟机里的nginx来实现前端页面。

遇到的问题如下:

1.在真机使用有线网络连接的时候无法在虚拟机里通过ifconfig查到ip地址。

2.在真机使用无线网络连接的时候虚拟机里ifconfig里的ip地址不能用。

3.Nginx配置proxy_pass无效,虚拟机无法访问Proxy_pass,导致真机访问Nginx前端服务器的时候在浏览器里无法获取真机(作为后端)提供的Json数据

 

 

问题都得到了解决

(博主对网络一窍不通,解决方法可能很局限或者说有点碰巧)

一、前两个问题的解决方案(或者说重新设置的步骤)

1.首先需要设置virtualbox的网络,打开设置-网络

VirtualBox 虚拟机 CenOs7.3系统的Nginx无法从真机访问,虚拟机的ip地址无效,虚拟机ip地址找不到_第1张图片

2.可以发现,图中有网卡1和网卡2两个虚拟网卡,分别对应虚拟机里的eth0和eth1(后面介绍)

3.把网卡1和网卡2都设置为桥接网络,并在网卡1下面的“界面名称”选择你的无线网络设备,在网卡2下面选择你的有线网络设备

(如果不知道哪个是你的网络设备,可以尝试遍历0.0)

(桥接网络使虚拟机可以分配到独立的局域网ip地址,相当于真机一样,只不过它是通过真机的网卡桥接了网络)

4.使用ifconfig命令查看ip地址

VirtualBox 虚拟机 CenOs7.3系统的Nginx无法从真机访问,虚拟机的ip地址无效,虚拟机ip地址找不到_第2张图片

很容易发现eth1中有一个192.168.1.104(当然你的可能不是这个),这就是在上文中的网卡2配置的通过有线网络桥接的网络IP

其实在上面还有一个eth0,对应的IP是网卡1配置的通过无线网络桥接的网络IP

但由于博主的虚拟机问题没办法全屏,所以显示不出来,要查看的话可以先停止掉eth1(网卡2),命令如下:

ifconfig eth1 down

然后再运行ifconfig查看ip

ifconfig

 VirtualBox 虚拟机 CenOs7.3系统的Nginx无法从真机访问,虚拟机的ip地址无效,虚拟机ip地址找不到_第3张图片

这样就看到了eth0里的192.168.1.101

以上步骤我们得到了2个IP地址(192.168.1.101和192.168.1.104)这两个IP地址正常情况下都能在真机浏览器中访问到虚拟机的Nginx,博主在此步骤没有遇到问题。

以上解决了开头讲到的1、2两个问题。

 

二、Nginx配置proxy_pass无效解决方案

导致这个问题可能还另有其他原因,博主只说自己遇到的问题原因

具体情况是这样的:真机打开浏览器访问虚拟机(上面的192.168.1.101或192.168.1.104),可以发现能够得到页面,但是无法得到请求api所得到的数据,导致页面内容欠缺,打开Network并刷新网页,发现api的请求都被挂起

博主的解决方案:由于问题在于虚拟机无法访问真机,突然察觉到防火墙问题,把真机上的防火墙关掉就行了

你可能感兴趣的:(Java,network)