我在虚拟机(开发环境)上通过 tomcat 运行一个 webapp。我尝试在其他计算机(网络上的其他计算机和主机)上访问此 webapp,但失败了。
主机:Windows 8.1
访客:Windows 7
软件:VMWare Player
客户机以桥接模式设置连接,Windows 防火墙完全关闭。
localhost:8080/webapp
我可以通过虚拟机上的以及(虚拟机名称为 topaz)访问 webapp topaz:8080/webapp
,但不能通过主机或网络上的任何其他地方访问。
尝试从主机连接到 Web 应用程序VM's.ip.##.##:8080/webapp
也不起作用。在此说明中,通过 ipconfig 报告的 VM IP 与 Google 报告的我的公共 IP 不同。但是,我在内部网络上。值得注意的是,我需要连接到此 Web 应用程序的任何设备都将在我的内部网络上。
如果我通过主机上的 Windows 资源管理器浏览网络,我可以看到虚拟机,但无法连接到它
不确定还有什么需要改变,任何帮助都值得感激
编辑:回应以下来自 harrymc 的评论,
已将桥接改为 NAT。仍然无法访问网络上的机器,共享文件夹仍在工作。在虚拟机中,localhost:8080/webapp
和均可topaz:8080/webapp
工作。仍然无法通过主机或其他机器连接。报告的 IP 以ipconfig
192 开头,而 google 报告的 IP 以 205 开头。
切换回桥接模式后,ipconfig 报告 IP 以 172 开头。Google 报告的 IP 与处于 NAT 时相同,为 205。状态与之前相同。
卸载 VMware 工具,重新启动,使用“完成”选项重新安装。再次尝试桥接。没有成功。
编辑 2:卸载 VMWare 播放器,安装工作站,仍然没有运气
答案1
建议太多了,所以这里给出答案:
使用 VMware Workstation,在客户机中执行以下操作:
- 重新安装 VMware Tools
- 尝试将适配器设置为正确范围内的静态 IP 地址
- 删除虚拟机 > 设置 > 网络适配器并重新创建
- 添加第二个网络适配器
- 使用 Windows 更新全面修补 VM,包括可选更新(Bing 除外)
- 在 Windows 设备管理器中重新安装网络驱动程序:找到 Intel Pro/1000 MT 网络连接设备,然后尝试使用“让我从计算机上的设备驱动程序列表中选择”来“更新驱动程序软件”
- 在设备管理器中,删除英特尔(R) PRO/1000 MT 网络连接设备并重新启动
- 在以管理员身份运行的命令提示符 (cmd) 中使用重置 TCP/IP:
netsh int ip reset c:\resetlog.txt
通过输入重置 Winsock 设置
netsh winsock reset
。
每完成一步后重新启动并再次测试 ipconfig。
作为最后的努力,您可以再次尝试 VMWare Player。
最好在开始之前备份虚拟机,以防万一。
如果没有任何效果,我唯一的建议就是联系 VMWare 支持或访问 VMWare 论坛。
答案2
您很可能正在处理 VMware Player 的网络限制。具体来说,就是无法编辑网络设置。这是 Workstation 中的一项功能,但 Player 中没有(您还指望免费提供什么?;-) 请查看此内容Player 6 和 Workstation 10 之间的功能比较。
我认为你应该下载 Workstation 的评估版并进行测试。或者,如果你不局限于 VMware,可以尝试微软虚拟PC或者虚拟盒。它们应该能够读取您的 VMDK,并且是免费的。
答案3
在托管 Web 应用的计算机上安装代理服务器,并从其他设备连接到该代理。您的设备能够解析计算机上的主机名,即使它是在计算机的本地 hosts 文件中定义的,因为它使用代理进行 DNS 解析。