如何通过名称而不是 IP 从多个设备访问 Web 服务器?

如何通过名称而不是 IP 从多个设备访问 Web 服务器?

我有一个在本地 XAMPP Web 服务器上运行的 php 网站。我希望能够使用名称/别名(例如 myapp.local)而不是 IP 地址从在同一 LAN 上运行的多个设备(其他台式机、笔记本电脑、iPad 和 Android 平板电脑)访问该网站。

使用主机名有效,但由于 netbios 名称解析,仅限于 Windows 设备,但我无法在 iPad 或 Android 设备上使用主机名。

到目前为止,我的搜索似乎表明我必须设置自己的 DNS 服务器。我尝试按照说明使用 MaraDNS 执行此操作这里但我需要一些不需要修改路由器设置的东西。

我只想在托管 Web 服务器的计算机上安装东西,而不是编辑主机文件或类似的东西。有没有办法以尽可能简单的方式做到这一点,以便在任何计算机/设备上我都可以输入类似 myapp.local 的内容并正确解析?

答案1

我没有关于如何在没有 dhcpd/dns 的情况下做到这一点的好答案,但由于我无法评论,我会向您指出 zeroconf 方向,以及带有 mDns 的 zeroconf。

我个人使用家庭服务器并设置绑定和 dhcpd。

我的路由器坏了。我关闭了 FB 的 dhcpd,这样我就可以通过 dhcpd 设置名称服务器了。

dhcp配置文件

# option definitions common to all supported networks...
option domain-name "fritz.box";
option domain-name-servers 192.168.178.2;
default-lease-time 864000;
max-lease-time 1123200;
authoritative;
log-facility local7;
subnet 192.168.178.0 netmask 255.255.255.0 {
  range 192.168.178.21 192.168.178.100;
  option routers 192.168.178.1;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.178.255;
  option ntp-servers 192.168.178.1;
}

192.168.178.2 是我的家庭服务器 192.168.178.1 是我的路由器 我的路由器上也运行着一个 ntp 服务器

至于绑定,这是一个通配符 tld 区域配置,如下所示 pri/server.zone

$ORIGIN .
$TTL 3600
server  IN SOA server.fritz.box. hostmaster.localhost. (
                3 ; serial
                3600 ; refresh
                3600 ; retry
                604800 ; expire
                86400 ; minimum
)
        NS 192.168.178.2
        IN MX 100 server.
$TTL 86400
$ORIGIN server.
@       IN A 192.168.178.2
*       IN A 192.168.178.2
@       IN AAAA xxxx:xxxx:xxxx:xxxx::2
*       IN AAAA xxxx:xxxx:xxxx:xxxx::2

和 named.conf 条目

zone "server" IN {
        type master;
        file "pri/server.zone";
        notify no;
};

相关内容