为什么我的 URL 在本地有效,但在外部无效?使用 Pi-Hole 设置本地 DNS 和 Apache 反向代理以重定向到不同的服务端口

为什么我的 URL 在本地有效,但在外部无效?使用 Pi-Hole 设置本地 DNS 和 Apache 反向代理以重定向到不同的服务端口

我在本地网络中安装了 Raspberry Pi 上的 Pi-Hole 和 Apache2 反向代理。我的路由器使用此 Pi-Hole 作为其 DNS。Pi-Hole 的配置为全新安装,但将我的域解析为 Pi 的 IP 地址的本地 DNS 条目除外。

Pi 的本地 IP 是 192.168.0.44。

后端服务器的本地IP为192.168.0.43,它有三个服务运行在不同的端口上。

Pi-Hole 本地 DNS 条目:

subdomain1.domain.net -> 192.168.0.44
subdomain2.domain.net -> 192.168.0.44
subdomain3.domain.net -> 192.168.0.44

Apache2 反向代理.conf 也在 Raspberry Pi 上运行

<VirtualHost *:80>
    ServerName subdomain1.domain.net

    ProxyPass / http://192.168.0.43:80/
    ProxyPassReverse / http://192.168.0.43:80/
</VirtualHost>

<VirtualHost *:80>
    ServerName subdomain2.domain.net

    ProxyPass / http://192.168.0.43:8096/
    ProxyPassReverse / http://192.168.0.43:8096/
</VirtualHost>

<VirtualHost *:80>
        ServerName subdomain2.domain.net

        ProxyPass / http://192.168.0.43:666/
        ProxyPassReverse / http://192.168.0.43:666/
</VirtualHost>

我的域名是通过 Google 注册的,并且在那里有一个 DNS 条目:

subdomain1.domain.net -> my static external IP

现在,我的问题:

当我尝试使用“subdomain1.domain.net”连接到我的某个服务时当地的网络,它会正确解析为在 192.168.0.44 上运行的反向代理,该代理监听端口 80,然后根据给定的 URL 将其重定向到 192.168.0.43:80 或 *:8096。这适用于我的所有服务本地

但是从外部看,它就是无法连接。我已将路由器中的端口 80 转发到 192.168.0.44,这是我的 Raspberry Pi 的 IP。

以前,在我安装 Pi-Hole 并且没有设置反向代理之前,当我在网络之外时,我使用“URL”:端口连接到我的服务,但我首先想让它在本地 LAN 中工作,而不使用 IP,其次让它与子域一起工作,而不必指定端口,因此需要反向代理。

有什么建议或想法吗?我一直在谷歌搜索这个问题,如果这个方法不管用,我可能会放弃这个想法,直接使用我的域名和端口进行连接。在此先感谢大家提供的任何意见!!!

相关内容