我在该服务器上安装并配置了 NextCloud。一切运行良好。我设置了 HTTPS 重定向,当我不在家时,它运行正常。但是,问题是,如果我在家里通过我的域名 (cloud.mydomain com) 访问我的云,我无法访问它。如果我打开浏览器并输入 https:_cloud_mydomain_com,它永远不会到达任何地方。但如果我在 NextCloud 服务器的地址栏中输入本地 ip 地址,它就会完美打开。
我可以从家里 ping 我的域名并使用我的调制解调器/公共 IP 回复。我可以使用 Ubuntu 服务器的主机名或服务器的本地 IP 地址打开 NextCloud,但如果我使用 https:_cloud.mydomain.com 则不能。
所以,这对我来说很奇怪,因为当我离开本地网络时,我可以使用域名(https:_cloud.mydomain.com)访问它。无论是我的手机还是电脑。但每次我回到家时删除域名并使用我的本地 ip 地址登录很烦人。https:_local_ip
Ajenti 也发生了同样的事情。我设置了 Ajenti,更改了默认端口。能够使用以下方式从本地网络访问 Ajenti:https://cloud.mydomain.com:1234{port} 但如果我尝试回家,我必须输入 https:_local_ip:1234 或 https:_hostname:1234
答案1
我也曾为这个问题苦恼过。这个问题很可能是由于你的路由器没有正确处理流量。Cloud.domain.tld 解析为你的公共 IP 地址,因此当你从本地网络请求该地址时,路由器不知道如何响应。最好的解决方案是在路由器的配置页面中启用 Hairpin NAT。如果这不可能,你可以将搜索域设置为裸域 (domain.tld),并将 nextcloud 服务器上的主机名设置为云,以便本地设备自动解析 IP。你还可以使用免费的 Cloudflare 帐户将你的流量代理到你的网络之外。