我正在尝试在我的 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,请阅读一些有关在互联网上运行开放解析器的危险的指南。