You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

云端Portainer部署AdGuard Home通过Nginx Proxy Manager实现DoH配置咨询

基于Nginx Proxy Manager + AdGuard Home实现公网DoH服务部署方案

前置准备

  • 提前解析一个DoH专用域名(例:doh.yourdomain.com)到云服务器公网IP
  • 确认Nginx Proxy Manager(下称NPM)已成功申请该域名的HTTPS证书,建议开启自动续期
  • AdGuard Home需和NPM部署在同一个Docker自定义网桥下,保障内部网络互通

第一步:Portainer部署AdGuard Home实例

无需将53端口映射到公网,仅暴露容器端口到内部Docker网络即可,在Portainer中用Stack部署时使用以下Docker Compose配置:

version: "3"
services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      # 自行替换为你的持久化存储路径
      - ./adguard/work:/opt/adguardhome/work
      - ./adguard/conf:/opt/adguardhome/conf
    # 仅暴露端口到Docker网络,不绑定公网主机端口
    expose:
      - "3000" # 初始安装配置端口
      - "80" # 管理界面HTTP端口
      - "443" # DoH服务默认端口
    networks:
      # 替换为NPM所在的自定义Docker网桥名称
      - npm-shared
networks:
  npm-shared:
    external: true

部署完成后临时在Portainer中将AdGuard的3000端口映射到云服务器本地127.0.0.1:3000,通过SSH隧道访问http://127.0.0.1:3000完成初始化配置,配置完成后删除临时端口映射避免暴露。
注意:AdGuard Home的加密设置无需单独配置证书,HTTPS证书统一由NPM管理,内部Docker网络通信无需额外加密

第二步:NPM配置DoH流量反代

进入NPM管理后台新建代理主机,按以下要求配置:

  • Details页配置
    • Domain Names填写提前解析的DoH专用域名
    • Scheme选择http
    • Forward Hostname/IP填写AdGuard Home的容器名(同网桥下可直接通过容器名解析,例:adguardhome)
    • Forward Port填写80
    • 勾选Block Common Exploits、Websockets Support
  • SSL页配置
    • 选择该域名对应的HTTPS证书
    • 勾选Force SSL、HTTP/2 Support、HSTS Enabled
  • Custom Locations页配置
    新增路径规则:
    • 路径填写/dns-query
    • 转发地址填写http://adguardhome/dns-query
    • 点击配置齿轮,添加以下自定义Nginx规则:
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_pass_request_headers on;
      # 兼容GET/POST两种DoH请求方式
      proxy_method GET;
      proxy_method POST;
      

保存配置等待生效即可。

第三步:客户端配置验证

所有客户端直接配置DoH地址为https://你的DoH专用域名/dns-query即可使用,无需安装VPN,所有DNS请求均走HTTPS 443端口传输,无需开放53端口到公网。
配置完成后可在AdGuard Home的查询日志中看到客户端的DNS请求记录,即为配置生效。

可选配置:公网访问AdGuard管理界面

如需公网访问AdGuard后台,可单独新建NPM代理规则,转发到AdGuard的80端口,绑定独立二级域名后开启HTTPS和访问权限校验即可。

内容的提问来源于stack exchange,提问作者Rishi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:45:03