【问题标题】:Redirect to internal local ip and port without using /etc/hosts (nginx)不使用 /etc/hosts (nginx) 重定向到内部本地 ip 和端口
【发布时间】: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.81.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 端口进行监听

【问题讨论】:

    标签: nginx dns vps hosts nas


    【解决方案1】:

    删除 listen 指令中的 IPv6 地址并添加 server_name 指令:

    http {
        # redirect to my router page
        server {
            listen 80;
            server_name router.mydomain.com;
            return 302 http://192.168.0.1;
        }
        # redirect to filebrowser
        server {
            listen 80;
            server_name filebrowser.mydomain.com;
            return 302 http://192.168.0.2:1111;
        }
    }
    

    我也不想设置本地 dns 服务器,因为它可能会减慢 Internet 域的解析速度

    这可能是一个错误的假设。像 dnsmasq 这样的东西能够解析本地名称并将所有其他 DNS 查询转发到上游服务器(如 8.8.8.81.1.1.1),缓存结果。因此,如果设置正确,在这种情况下您将不需要域或 VPS。

    【讨论】:

    • 您好,感谢您的回答!我试过了,路由器按照我最初的解决方案工作,但重定向到文件浏览器不起作用。所以也许这只是一些更深层次的问题。我需要深入了解一下。请注意,文件浏览器在我的本地网络中运行,而不是在 VPS 服务器本身上运行。感谢您清除我对自托管 dns 服务器的错误认识。
    猜你喜欢
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    相关资源
    最近更新 更多