我有一个注册域名 (thisexample.net),我将其转发到 DynDns (bounce.dnsalias.net) 的动态 URL,因为我的互联网访问是通过电缆进行的,并且不提供静态 IP 地址。我的路由器(openwrt)将端口 80 转发到 LAN 上的 apache 服务器。
这适用于从 LAN 外部寻找 URL thisexample.net 的机器,以及 LAN 内部的机器去服务器的 LAN 地址(例如,192.168.1.xxx)。但是,访问 URL thisexample.net(或 www.thisexample.net)的 LAN 机器会打开路由器的管理页面,就好像它们的地址是 192.168.1.1。
我想尝试使用子域,例如 beta.thisexample.net。据我了解,设置它们的一种方法是使用带有地址名称的 apache 的 VirtualHost 指令 - 但 LAN 框将无法访问此类子域页面,因为寻址域不会将它们带到服务器第一名。
为什么 LAN 盒子不能使用 URL 地址?
我怎样才能配置东西,这样他们就可以了?这是首先尝试子域的糟糕方法吗?
在面向内部的 DNS 服务器上创建手动记录。
外部客户端和您的内部盒子都达到了 dyndns 提供给它们的相同的正确 IP 地址。真正的问题是您的路由器仅在面向外部的接口上为 80 执行“端口转发”。通过内部接口的任何连接都只会在非转发端口 80 上看到 openwrt 自己的页面。
这纯粹是 openwrt 上的 iptables 问题(DNAT 应该指定两次:使用 -i ethX,然后使用 -i ethY)。
如果您想通过 DNS 解决问题,请使用绑定的“查看”功能。但这是一个笨拙的解决方案。