如何使用 Windows 计算机和 Apache 在我的 Wi-Fi 网络上创建自定义 TLD(用于 Intranet)?

如何使用 Windows 计算机和 Apache 在我的 Wi-Fi 网络上创建自定义 TLD(用于 Intranet)?

您能否向我解释一下如何执行此操作(从安装 Apache 开始)?

有多种方法可以做到这一点吗?我希望http://intranet连接到网络时域(例如)可用,而无需hosts在每台计算机上编辑文件。这可能吗?

我还想为我的本地 URL 创建子域(例如http://site.intranet);您能告诉我如何在 Apache 中执行此操作以及如何配置它吗?

我是否必须将我的计算机重命名为intranet,或者是否有其他方法来映射域,而无需编辑每台计算机的配置或工作组(可能通过我的路由器的设置)?

如果您能帮助我更好地了解我的选择并告诉我如何设置服务器,我将不胜感激;谢谢!

答案1

一切都取决于 DNS。您必须确保 DNS 名称intranet解析为 IP 地址。我只知道如何通过一种方式做到这一点:为基础设施安装自己的 DHCP 和 DNS 服务。Bonjour 风格应该也可以,但我没有这样做的经验。

据我所知,操作系统支持 DNS 后缀,如.localexample.corp。您将控制网络上的 DHCP 服务器,对吗?假设它将给出192.168.13.128带有255.255.255.0网络掩码的地址,如 ,最重要的是,它将给出知道如何在区域上权威地回答的 DNS 服务器的地址example.corp,它将告诉 DHCP 客户端他们的 DNS 域是。如果您键入 ,example.corp大多数操作系统都会尝试访问。http://intranet.example.corphttp://intranet

这就是短名称的工作方式。继续基于名称的虚拟托管,就像@Iain所说的那样。假设您的Apache配置如下:

Listen *:80
NameVirtualHost *:80

我假设 Apache 服务器有192.168.13.1/24IP 地址。我会添加一条指向的A记录,以及一条指向的记录,如果您需要子站点,我也会添加指向完整DNS 名称的记录。s01.srv.example.corp.192.168.13.1CNAMEintranet.example.corp.s01.srv.example.corp.site.intranet.example.corp.s01.srv

返回 Apache 配置:您需要添加如下虚拟主机:

# this matches the NameVirtualHost directive and
# loosely matches the Listen directive; it could also be:
# NameVirtualHost 192.168.13.1:80 and you'd change this below as well
<VirtualHost *:80>
    # notice you'll need both of these;
    # they must match what's in the browser Location bar
    ServerName intranet.example.corp
    ServerAlias intranet

    # sorry for the Unix-style paths, I avoid Windows a bit
    DocumentRoot /var/www/intranet.example.corp
</VirtualHost>

如果您需要帮助,我不介意进一步阐述这一点。请随时询问!

答案2

您所追求的技术是基于名称的虚拟主机。您通常会使用A或者别名记录记录您想要提供服务的每个域/子域指向您的 apache 服务器地址的信息。

然后,使用基于名称的虚拟主机为每个域/子域配置一个虚拟主机。

答案3

看一眼http://www.opennicproject.org他们专门从事自定义顶级域名。他们有很多关于设置它们的信息,而且他们的所有域名都可以免费使用。我最喜欢的是 .geek 哈哈,然后是 .pirate :P

如果你是百万富翁,你现在也可以申请 TLD。因为我不是,所以对我来说这是开放的。

相关内容