0

好的,有点菜鸟问题 - 有一个那些日子。

我在 Ubuntu 上建立了一个家庭 apache 网络服务器。我已经配置了虚拟主机,因为我想托管多个网站。这些在本地浏览器中工作正常,例如

http://site1
http://site2

两者都显示其各种内容。

对于服务器端,我在路由器上配置了端口转发,以将所有端口 80 请求发送到服务器 IP。

当我转到外部浏览器并输入我的服务器外部 IP 地址时,我得到标准的 apache “它可以工作!” 信息。当我输入 ipaddress/site1 时,我得到 404。site1 不在标准的 apache 默认目录中,我将它放在 home/username/Sites/site1 文件夹中,并且 httpd.conf 文件知道这一点。

我如何从外部访问这些 site1 和 site2 站点?

干杯

4

1 回答 1

0

就像您在本地浏览器中所做的那样。因此,输入http://site1会引导您进入第一个站点。这是基于一个假设,即您将http://site1地址放在 /etc/hosts 文件中。当您的计算机查找 URL 时,它首先会检查主机文件(您的案例会在那里找到正确的 IP 地址),然后会向全局机制询问该地址。

它在“ipaddress/site1”找不到任何东西的原因是因为 vhosts 配置。这个 teel Apache 将服务器上某个文件夹的内容作为单独的主机名提供服务,例如http://site1. 如果您请求“ipadress/site1”,您实际上是在告诉 Apache 在 Vhost 配置中遇到的第一个根目录中查找文件夹“site1”。

于 2013-10-18T09:37:42.853 回答