Nginx,Pihole和DNS over TLS - >获取真正的IP



目前我在Ubuntu 20.04 VPS中安装了Pihole(v5.12.2(。我已经安装了Nginx作为TLS上DNS的反向代理,它运行良好,但在Pihole的日志中,由于Nginx没有转发每个客户端的真实IP,所有内容都显示为127.0.0.1。

这是我目前的配置:

upstream dns-servers 
{
server    127.0.0.1:53;
}

server {
listen 853 ssl;
ssl_certificate /etc/letsencrypt/live/domainname.here/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domainname.here/privkey.pem;
ssl_protocols        TLSv1.2 TLSv1.3;
ssl_ciphers          HIGH:!aNULL:!MD5;

ssl_handshake_timeout    10s;
ssl_session_cache        shared:SSL:20m;
ssl_session_timeout      4h;
proxy_pass dns-servers;
proxy_responses 1;
proxy_timeout 1s;
}

如果我尝试为proxy_set_headerreal_ip_header添加指令,我会得到消息directive is not allowed here。我还尝试使用这个指令proxy_bind $remote_addr transparent;,尽管它被接受了,但它会导致每个请求都超时。

转发客户端真实IP以便Pihole正确接收的正确方法是什么?

在nginxserver上下文中添加proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;,在pi孔doh-server.conf中添加log_guessed_client_ip = true

相关内容

  • 没有找到相关文章

最新更新