使用主机名或 DNS 浏览本地包含的网站

使用主机名或 DNS 浏览本地包含的网站

我的 RaspberryPi 上有一个装有 apache2 的网络服务器。我可以使用 pi 的本地 IP 地址(如 192.168.xx)浏览网站。我想在不使用 LAN 中的 IP 的情况下浏览它,例如,http://local.mypi.com

我该怎么做?谢谢

答案1

为了通过域名而不是 IP 地址进行浏览,需要发生两件事 -

  1. 您需要一种方法来解析域名和
  2. 您的网络服务器需要使用正确的配置进行响应。

(我没有在这里讨论 HTTPS,因为这似乎完全不切实际)。

解析域名

如何解析域名取决于您的设置。最简单的方法是修改需要访问网站的计算机上的“hosts”文件。(几乎所有操作系统都有 hosts 文件)。您需要管理员权限,并添加一行,例如

  192.168.x.x   local.mypi.com

还有其他方法可以实现此目的,但它们取决于网络和设备。有时(很少)您可以在路由器上分配计算机名称,而在更高级的路由器上,您有时可以修改 DNS 配置。

另一个解决方案是在 Pi 上运行 DNS 服务器。这样做的问题是,您需要让客户端使用 Pi 的 DNS 服务器,这可能意味着运行 DHCP 服务器并禁用路由器上的 DHCP 服务器。

如果您只查看 Linux 和 Mac 设备(即不是 Windows),您可能能够在 Pi 上使用“Zeroconf”实现。 配置 Web 服务器

Apache 上的 HTTP 有两种模式 - 基于名称和基于 IP。如果使用基于 IP 的配置,则只能运行一组网站。基于名称的虚拟主机将允许您运行多个网站,但您需要为每个网站指定不同的配置。基于名称的虚拟主机更常见。

如果您使用基于 IP 的虚拟主机,则无需担心服务器上的域到 IP 地址映射 - 服务器不关心所使用的域名。

如果你使用基于名称的虚拟主机,则需要将你的域名配置添加到 apache 配置中,如下所示

 <VirtualHost *:80>
 ServerName local.mypi.com
 DocumentRoot "/path/to/websitefiles"
 </VirtualHost>

相关内容