如何从网络访问访客服务器

如何从网络访问访客服务器

好的,这是我想要做的:我想连接到在虚拟机上运行的网络服务器。

我的主机 Windows Vista 上运行着一个 Apache 网络服务器,可以通过网络访问。

我有 VirtualBox 运行一个客户机:Ubuntu,它也有一个 Apache 网络服务器,我希望能够从网络访问这两个服务器。

我一直在搜索试图找出如何做到这一点,但我找不到任何关于如何设置的分步说明。

看起来反向代理可以实现我想要的,但我也不确定如何设置它。

我在这里先向您的帮助表示感谢!

答案1

有几种不同的虚拟网络模式。

当您需要时,我建议您使用桥接网络。

如果选择 NAT,则必须以与在路由器上相同的方式在主机上配置端口转发。

如果您按照我的建议选择桥接,那么任何虚拟机都会在您的网络中显示为物理独立计算机。您需要做的就是找到虚拟机的 IP(或将其设置为静态),然后像从路由器转发任何其他机器一样转发 Web 服务器。

答案2

我一直在我的 VirtualBox 上使用 CentOs 服务器执行此操作

您需要将虚拟机网络设置为桥接适配器并选择您使用网络连接的网络适配器。

进入你的 Ubuntu 盒子,它应该会自动从 DHCP 分配一个地址,如果没有,那么你将需要在管理 > 网络中手动设置一个静态 IP 地址。

获得地址后,您可以使用它进行检查,ifconfig然后它将返回您的网络接口列表。查找 eth0 及其 IP 地址。

记下此信息并将其输入到您的 Vista OS 的 Web 浏览器地址栏中,Apache Screen 应该会显示出来,或者显示您在 www 目录中使用过的任何内容。

编辑:

由于您已经在使用端口 80 并且该端口已被转发,您可以做的是将 Ubuntu 服务器上的端口设置为其他端口,可能是 8080。编辑您的配置文件,该文件可能位于/etc/apache2/apche2.conf

然后将 Listen 80 编辑为 Listen 8080 并重新启动 apache。/etc/init.d/apach2 restart 然后你将能够在以下位置看到你的 Ubuntu 安装服务器:ubuntuhostip:8080

然后只需在路由器防火墙中创建一个新服务,起始端口为 8080,结束端口为 8080,然后设置防火墙规则,但在 8080 服务端口上设置 ubuntu ip 地址。

这样您就可以访问:

Vista 服务器:梅尼普

Ubuntu 服务器:梅尼普:8080

答案3

您不能让两个不同的事物在同一个 IP 地址上的同一个端口(即 WWW 的 80)上应答。

因此,您需要将其中一个 Web 服务器更改为在不同的端口(例如 81)上应答,然后将路由器中的该端口转发到第二个 Web 服务器。

此外,如果您的路由器足够智能,您可以将其设置为在自定义端口(81)上应答,并将其转发到端口 80 上的第二个 Web 服务器(因此将 Web 服务器配置保持在标准端口 80 上以供内部测试/使用)。

无论哪种方式,您都可以从 Internet 访问标准端口 80 上的 Web 服务器 1(http://www.服务器名称.com)并通过另一个端口(http://www.服务器名称.com:81)。

答案4

另一个选项是使用主机操作系统上运行的 Apache 作为客户操作系统上运行的 Apache 的代理。我认为这叫做 mod_proxy。

相关内容