我已经设置了一个运行 Nextcloud 和其他一些工具的服务器。为了能够从外部访问它,我已经为我的域 nextcloud.mydomain.com 设置了 DDNS 和引用 DDNS 的 DNS 条目,它运行良好。
问题是,当我在本地网络中使用 nextcloud.mydomain.com 时,连接很慢,因为连接被路由到我的网络之外,使用主机名或 IP 一切都很好......
我使用 tracert/traceroute 进行了检查,发现该连接实际上是从我的路由器路由一个节点然后返回。
我本来期望我的 FritzBox-Router 可以处理这个问题,因为它知道自己的 IP 地址,但它不知道......
使用 /etc/hosts 不是一个选择,因为 1) 这会断开网络外部的连接 2) 需要为使用它的每个设备进行设置。
解决这个问题的最佳方法是什么?
我的跟踪路由:
user@laptop:~ $ traceroute nextcloud.mydomain.com
traceroute to nextcloud.mydomain.com (*PUBLIC IP*), 30 hops max, 60 byte packets
1 fritz.box (192.168.178.1) 10.601 ms 10.808 ms 10.362 ms
2 ipservice-*PUBLIC IP*.pools.vodafone-ip.de (*PUBLIC IP*) 10.636 ms !X 10.631 ms !X 9.443 ms !X
和
user@laptop:~ $ traceroute nextcloud
traceroute to nextcloud(192.168.178.150), 30 hops max, 60 byte packets
1 nextcloud.fritz.box (192.168.178.150) 12.357 ms 14.189 ms 14.818 ms
答案1
与大多数商业 IT 环境一样 (https://serverfault.com/help/on-topic): 设置内部 DNS 服务,将您的域名指向您提供的服务的本地地址。网络上的所有内容都会找到最短路径,而无需手动管理本地 hosts 文件。