【问题标题】:Home apache web server - final hurdle家庭 apache 网络服务器 - 最后的障碍
【发布时间】:2013-10-27 02:08:42
【问题描述】:

好的,有点菜鸟的问题 - 有一个这样的日子。

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

http://site1
http://site2

两者都显示不同的内容。

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

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

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

干杯

【问题讨论】:

    标签: apache ubuntu vhosts


    【解决方案1】:

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

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

    【讨论】:

    • 好的,谢谢您的回复。我了解 ipaddress/site1 不存在,因为它不在默认目录的根目录中,那么如何从外部计算机转到我的 site1 文件夹?
    • 正如我在答案的第一行中所写:) 但是,如果您从外部计算机访问它,您需要编辑该特定计算机上的主机文件或向 ISP 注册域名,然后将其指向您的本地 IP 地址。
    • 谢谢伙计,我明白了主机文件的意义,我想一旦我将外部域配置为指向我的服务器 ip 然后假设服务器名/别名相同,那么它将引导请求到正确的文件夹。感谢您的回复。
    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2013-10-29
    • 2016-05-11
    相关资源
    最近更新 更多