【发布时间】:2021-12-10 02:46:55
【问题描述】:
我有一个 diy(穷人的)NAS,我可以使用 ip:192.168.0.2:1111 访问家庭网络中的文件浏览器
我可以修改我每台设备中的/etc/hosts 以将my-fancy-filebrowser-url.com 重定向到192.168.0.2:1111。
但是,我想找到不涉及修改网络中每个设备的/etc/hosts 的替代方法。我也不想设置本地 dns 服务器,因为它可能会减慢 Internet 域的解析速度,我使用 8.8.8.8 或 1.1.1.1 来更快地解析域名。
我发现的其中一个替代方法是使用 nginx。我已经购买了一个域名,我们称之为mydomain.com,我有一个ipv6 VPS 服务器。我已使用 cloudflare 将 url 重定向到我的服务器 ipv6 地址,并且已将 nginx 安装到我的 VPS 并创建了此配置文件:
http {
# redirect to my router page
server {
listen [d6b6:8760:97ec:ea7a:562c:c954:bb8d:6e41]:80;
return 302 http://192.168.0.1;
}
# redirect to filebrowser
server {
listen [d6b6:8760:97ec:ea7a:562c:c954:bb8d:6e42]:80;
return 302 http://192.168.0.2:1111;
}
}
到我的路由器管理页面的重定向按预期完美运行(对于任何感兴趣的人,我将 cloudflare subdomain.mydomain.com 指向 ipv6 地址)。但是文件浏览器不是。我怀疑这是因为我正在尝试指定要重定向到的端口。有可能用 nginx 做这样的事情吗?或者有没有更好的替代方案,不涉及修改/etc/hosts 或设置您自己的 dns 服务器?
编辑:我的错,我实际上是在 cloudflare 中错误地输入了 ipv6 地址。它缺少 1 位数字,所以它永远不会工作。我更正了ip,效果很好。接受的答案更巧妙地使用 url 而不是硬编码 ipv6,这是一个好主意!请注意,如果您使用的是 ipv6 服务器,那么您将在 [::]:80 端口进行监听
【问题讨论】: