使用 Apache2 运行 PiHole

使用 Apache2 运行 PiHole

我正在尝试在我的 Raspberry Pi 上安装 PiHole,但在配置它时遇到了一些问题。我目前将它用作网络中运行的一些 Web 服务器/应用程序的反向代理。我的主要问题(我认为)是因为我使用 Cloudflare,所以我需要使用端口 80(因为我无法指定带有端口的 A 记录)。

因此,我希望有某种方法可以用我现有的 Apache 实例替换 lighttpd。我想做的是:

  • 让 Cloudflare 指向我的静态 IP 地址,这样端口 80 就会命中我的反向代理
  • 配置我的路由器以使用我的 Raspberry PI 的本地 IP(192.168.xxx.xxx)作为 DNS 服务器

以下是我当前的虚拟主机:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ServerName subdomain.mydomain.com
    ServerAlias subdomain.mydomain.com

    ProxyPass / http://192.168.xxx.xxx:8080/
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ServerName subdomain2.mydomain.com
    ServerAlias subdomain2.mydomain.com

    ProxyPass / http://192.168.xxx.xxx:9000/
</VirtualHost>

<!-- A few more entries with different ports/subdomains -->

I'm currently running PiHole in a docker container, but that can be changed if required. I've made no configuration changes to PiHole.

Thanks!

答案1

看来您对 DNS 的工作原理存在根本性的误解。DNS 始终在端口 53 (UDP/TCP) 上工作。您使用反向代理或 Cloudflare 执行的任何操作都仅适用于 HTTP 协议(​​例如用于配置和监控 PiHole 的 PiHole Web 服务器)。PiHole DNS 服务将仅有的在端口 53 上工作。

如果您想在本地网络上使用 PiHole,请将网络中设备上的 DNS 设置设置为 Pi 的 IP 地址。

如果您想在互联网上使用 PiHole,请阅读一些有关在互联网上运行开放解析器的危险的指南。

相关内容