![Apache 子域名设置](https://linux22.com/image/723692/Apache%20%E5%AD%90%E5%9F%9F%E5%90%8D%E8%AE%BE%E7%BD%AE.png)
我在 Debian 9 上使用 Apache 2.4。
我可以通过手机访问我的所有子域名。
但是在我的本地网络上,从不同的客户端(Windows 8、Debian(不是服务器)和 Mac OS 10.10)以及不同的浏览器(Firefox、Chrome、Brave),我得到了不同的结果。一个子域名根本无法加载(nextcloud),但我猜这是 nextcloud 特有的。
让我感到困惑的是,我可以通过手机联系到他们所有人,但在本地网络上却表现得很奇怪。
有人能给我提供一些关于如何解决这个问题的建议吗?
已更新:感谢您的立即回复。
我必须承认,“发夹式 NAT”超出了我的知识范围。我没有使用 NAT。我确实有一个本地 DNS 服务器在运行(Pihole),但这似乎不是一个因素,因为它会影响有它的机器(以及那些没有将 Pihole 配置为 DNS 服务器的机器)。所以,我不认为这是一个因素。
此外,不要认为这是浏览器或操作系统的问题,因为我在两种配置(Windows/Mac)上都失败了,跳转到了我的 VPN(外部位置),并且一切都按预期工作(提供服务)。
我开始缩小范围,因为我的一个虚拟主机被错误地计算了。根据教程,我有一个设置为 ReverseProxy(这样我就可以从 apache 而不是 nginx 运行 gitlab——nginx 被禁用了)。从我读到的关于 ReverseProxy 的内容来看,我不知道我们为什么需要一个?但是,好的。这是虚拟主机文件。
答案1
谢谢您的帮助。
它与 NAT 环回/发夹 NAT 有关。我从未听说过,也没有经历过。更具体地说,它是由 Pihole 引起的。我没能识别它,因为一些网页仍在缓存中。
解决问题的方法:
1. %sudo touch /etc/dnsmasq.d/20-customhosts.conf
2. %sudo(您最喜欢的文本编辑器)/etc/dnsmasq.d/20-customhosts.conf
3. #添加以下内容
#使用以下格式:address=/domain/ip 地址
#x 代表服务器本地 ip
地址=/mysite1.com/192.168.1.x
地址=/subdomain.mysite1.com/192.168.1.x
地址=/subdomain2.mysite1.com/192.168.1.x
(保存并退出)4.%sudo service dnsmasq restart
这些都是我从 reddit 帖子中找到的: https://www.reddit.com/r/pihole/comments/5dkagt/pi_hole_doesnt_resolve_local_ip_addresses_ddns/