![我可以将子域名上的流量引导至在 Ubuntu 下运行的虚拟盒吗?](https://linux22.com/image/926157/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%AD%90%E5%9F%9F%E5%90%8D%E4%B8%8A%E7%9A%84%E6%B5%81%E9%87%8F%E5%BC%95%E5%AF%BC%E8%87%B3%E5%9C%A8%20Ubuntu%20%E4%B8%8B%E8%BF%90%E8%A1%8C%E7%9A%84%E8%99%9A%E6%8B%9F%E7%9B%92%E5%90%97%EF%BC%9F.png)
我有一个在 Ubuntu 主机下运行 Windows 的 Virtual Box,并且 VM 上有一个我需要访问的小型 IIS Web 应用程序。我知道我可以使用各种工具远程访问 VM,但如果我可以通过路由器将 VM 公开,这样我就可以仅使用 URL(子域)访问 VM 上的应用程序,那就方便多了。
目前,我已创建指向我家路由器 IP 地址的子域名。我使用(“我的 IP 是什么”Google 搜索)获取了 IP。
但这会到达路由器并停止。我需要以某种方式告诉路由器,所有来自外部的传入 HTTPS 请求都将转发到我的 VM。同时,我不想阻止家中所有设备的互联网访问,因此我可能需要过滤要转发到 VM 的 HTTP 请求,使其仅包含来自该子域 URL 或到达 HTTP 的请求。我还可以创建一个奇怪的端口名称(如 1234),该端口名称将到达 VM,但会以某种方式转换为 HTTPS,因为这是 VM 所具有的。
我以前从未这样做过,因此非常感谢您的任何建议
谢谢你!
答案1
由于虚拟机的网络是通过主机隧道传输的,因此路由器无法识别虚拟机。您必须打开从路由器到主机系统的端口,并在虚拟机的 Virtualbox 设置 -> 网络 -> 端口转发中将该端口转发到虚拟机。
是否应该这样做是另一个问题,开放互联网端口始终存在风险,尤其是当您不知道自己在做什么时。