Apache 上的虚拟主机,主机名为 Intranet

Apache 上的虚拟主机,主机名为 Intranet

我一直很难弄清楚我在工作中需要做什么,所以这将是我的尝试。

我有一台供自己使用的服务器,其中运行着 WAMP 服务器,我已经弄清楚了如何将其联机并导航到它。目标是使它只用于 Intranet,我也发现了这一点(IP 的前 3 个部分位于httpd.conf文件中的必需部分中)并进行了测试。考虑到这一点,我想使用相同的 IP 地址在该服务器上托管 2 个项目,然后让公司内部的人员通过主机名访问它们。

因此,如果我命名它们projectA,并且projectB我有两个虚拟主机,它们具有服务器名称projectA,并projectB包含在服务器上的 httpd.conf 文件中。此外,由于我们在工作中运行某些东西,我让它监听端口 8080 而不是端口 80。

为了进行短期测试,我的笔记本电脑在 hosts 文件中有一个条目,将 IP 地址映射到我要使用的主机名,我们称之为hostC

我希望能够通过在搜索栏中输入类似以下内容来以合理的方式访问projectAprojectB打开,但我看到的只是将服务器名称显示为类似以下内容,然后将其从主机横幅中删除。那么我可以做我想做的事吗?还是我的想法完全错误?hostC//hostC/projectA/projectA/fileA.phpwww.projectA.com

如果我的做法是错误的,我的想法是,要么我需要在主机文件中映射两个主机(将在公司的 DNS 服务器中表示),并使其更像//hostA/projectAindex.php和,//hostB/projectBindex.php要么只是将其保留为一个主机,并提供一个分叉到两个不同项目的页面,如//hostA/projectAindex.php//hostA/projectBindex.php。其中一个更有意义吗?

我阅读了大量相关内容,并查阅了 Apache 文档,但我仍然不完全确定它的含义或如何思考它。

答案1

如果您想从修改了 hosts 文件的计算机以外的任何计算机HostC以主机名(例如hostc.local)进行访问,则必须设置 DNS 服务器以将此名称映射到您的 Web 服务器的 IP 地址。

如果 HostC 可以作为服务器的 IP 地址,那么您就可以使用它。

假设任何一种情况,你可以把子文件夹(ProjectAProjectB)放在 HostC(您的 Web 服务器)中以访问http://HostC/ProjectA/fileA.phphttp://HostC/ProjectB/index.php。您不需要虚拟主机。

如果你http://HostA/ProjectA/fileA.php想要http://HostB/ProjectB/index.php,那么您需要在 DNS 中定义 HostA 和 HostB(以便从任何计算机访问它们,而无需修改 hosts 文件,假设您不想通过 IP 地址/端口组合访问它们)。您需要使用虚拟主机条目,假设 HostA 和 HostB 都映射到 上的 Web 服务器。如果您想以本地域名而不是 IP 地址HostC进行访问,则在这种情况下只需映射 HostC。HostC

您可能还希望虚拟主机通过反向代理来访问服务,http://HostD:80/directoryD/例如HostD:8080/directoryF/例如123.123.123.123

相关内容