如何从运行到虚拟盒中的Windows访问在ubuntu上运行的localhost:8080?


Answers:


30

Windows具有它的“ own” localhost,因此您必须“帮助”它找到Ubuntu的一个。

在您的虚拟机中,转到该IP http://10.0.2.2/,它应该可以工作。您可以编辑Windows主机文件以localhost指向该ip,因此您不必记住它。

在: C:\Windows\System32\drivers\etc\hosts

加:

10.0.2.2 localhost

太棒了!奇迹般有效!
伊万·登琴科

10

您可以将虚拟机设置为使用桥接连接。这样,虚拟机将获得自己的IP地址,并且您应该能够连接到主机。

  1. 右键单击虚拟机(未运行时)
  2. 选择“ 设置
  3. 选择“ 网络
  4. 在“ 适配器1 ”选项卡下,将“ 附加到 ” 设置为“ 桥接适配器 ”。

4

首先,确保Web服务器进程正在运行。localhost:8080在Ubuntu机器上的浏览器窗口中键入。如果您获得了预期的页面,请继续执行下一步,否则请启动Web服务器进程并重试。

其次,确保两台计算机都在同一子网中。即类似192.168.x.y/255.255.255.0192.168.x.z/255.255.25.0否的内容,请进行必要的调整,然后继续下一步。

第三,检查ubuntu服务器上是否正在运行防火墙。如果是这样,请检查所需的端口是否已打开(8080根据您的情况)。如果您不想打开该端口以进行公共访问,则可以将规则配置为仅接受来自本地子网的流量。

编辑:步骤0。进行@Eeroz答案中建议的设置


2

如果您使用的是Ubuntu,则必须首先禁用防火墙。

sudo ufw disable

现在从系统设置->网络中找到您的ipv4地址,然后单击连接的wifi的箭头以获取有关它的更多信息。在那里您将找到您的PC的ipv4地址。然后,您可以将PC的本地主机用作

http:// ipv4:portno / yourpagename

完成工作后,请不要忘记启用防火墙。

sudo ufw enable

干杯


0

如果您确定这是您的防火墙,我建议您添加此规则,而不要禁用防火墙:

sudo ufw allow 8080

完成后,您应该运行:

sudo ufw status numbered

在括号中找到数字。说这是[ 1][ 3]

sudo ufw delete 1 3

然后,如果您在虚拟框中,则将导航到http://10.0.2.2:8080网络设置为NAT。您可以对任何端口执行此操作,并且它的工作原理相同。

即使这是一些额外的工作,即使在安全的网络上,也永远不要禁用防火墙。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.