Nginx Proxy Manager 反代域名全流程:从部署到上 HTTPS
家里跑了几个服务,浏览器里只能用地址加端口打开,又难记又不安全,很多人就是在这个时候开始用反向代理。Nginx Proxy Manager 的作用很直接:它坐在你的服务前面,收到某个域名的访问后,再把请求转给对应的内网服务,同时帮你处理证书。域名、端口、证书这三件事,在一个网页面板里就能配完,不用手写配置文件。
本文按官方安装页核实关键步骤,核实日期为 2026-11-09。凡是写了「未核实」的地方,都是没有验证过的说法,不要把它当成事实。不同版本之间的界面与初始账号可能有差异,动手之前先以你实际拉取版本的官方文档为准。
动手之前:先把风险讲清楚
先备份,再动手。反向代理一旦配错,最常见的后果不是打不开一个页面,而是所有走它的域名一起打不开,或者证书续期失败后全站变不安全。改动之前,先把现有服务的配置文件与数据目录备份一份,记下原来能直接访问的地址和端口,方便出问题时绕开代理直接验证服务本身是否正常。
管理面板不要暴露到公网。Nginx Proxy Manager 的管理端口与访客端口是分开的,访客只需要用到 80 与 443,管理端口只应该在内网或通过加密通道访问。把管理端口直接映射到公网,等于把整个路由表与证书私钥的入口摆在外面,风险很高。
域名解析要先做对。反向代理本身不会帮你买域名,也不会自动改解析。你需要先有一个域名,并在域名服务商处把要用的子域名解析到服务器的公网地址。解析没有生效之前,后面的证书申请一定会失败,这不是软件的问题,是前置条件没满足。
第一步:准备服务器、域名与 Docker
确认服务器已经装好 Docker 与 Compose。Nginx Proxy Manager 以容器方式运行,官方安装页给出的就是一个 Compose 文件。服务器系统与 Docker 的安装方式以 Docker 官方文档为准,本文不写死某一套安装命令。安装完成后,先确认 Docker 能正常启动容器,再继续往下做。
准备一个能解析到服务器的域名。你要用的子域名应当已经指向服务器的公网地址,可以用命令行查询解析结果,看到返回的地址与服务器一致才算通过。解析刚改完可能需要等待生效,具体等待时间因服务商而异,未核实某一家的生效时长。
确认 80 与 443 端口没有被占用。这两个端口是访客访问网站要用的端口,如果服务器上已经有其他程序占着它们,Nginx Proxy Manager 启动后会起不来或抢不到端口。先检查并停掉冲突的服务,再继续部署。云服务器还要注意安全组或防火墙也要放行这两个端口,只在容器层面映射端口是不够的。
第二步:用官方 Compose 文件部署
新建一个专用目录并写入 Compose 文件。官方安装页给出的配置以 2.16.0 版本镜像为例,镜像名为 jc21/nginx-proxy-manager,重启策略为除非手动停止否则自动重启。三个端口的映射分别是访客用的 80 与 443,以及管理面板用的 81。两个数据卷分别保存程序数据与证书文件,缺了它们,重启容器后配置与证书可能会丢失。
启动并查看日志确认运行正常。在 Compose 文件所在目录执行启动命令,等待一两分钟后查看容器状态与日志。官方安装页提到,首次运行会生成密钥并初始化数据库,这个过程可能需要几分钟,不要一启动就反复重启。看到容器处于运行状态、管理端口能打开,才算部署完成。
第三步:首次登录,先把账号处理好
首次打开管理面板并创建管理员账号。用浏览器打开服务器地址加管理端口,进入管理界面。不同版本的初始账号处理方式可能有差异,有的新版本是首次打开时创建管理员账号,有的旧版本存在默认账号,具体以你拉取版本的界面为准,本文未核实你所用版本的初始账号细节。无论哪种方式,首次登录后要立即设置一个足够强的密码,并妥善保存。
管理端口只留在内网使用。部署完成后,建议把管理端口的公网映射关掉,只通过内网地址或加密通道访问管理面板。如果你用的是云服务器,可以在安全组里只放行 80 与 443,管理端口不对公网开放。这个做法不是可有可无的加分项,而是部署完成后应当马上做的一步。
第四步:配置第一个域名反代
先在面板里新建一个代理主机。在管理面板中找到代理主机的新建入口,填入你要对外使用的域名,再填入目标服务的内网地址与端口。这里的目标地址是你原来直接访问服务时用的地址,只不过现在由反向代理替你转发。填错端口是最常见的失败原因,填之前先确认服务本身能正常打开。
保存后用域名实际访问一次。保存配置后,不要只看面板里显示成功就结束,应当真的在浏览器里打开这个域名,确认页面能正常加载,登录与提交等操作也没有异常。如果域名打不开,先看是解析问题、端口问题还是目标服务本身的问题,分开排查比反复改配置更有效。
第五步:给域名加上免费 HTTPS 证书
在同一个代理主机里申请证书。Nginx Proxy Manager 支持直接申请免费证书,申请时需要提供一个邮箱地址,用于接收证书相关的通知。证书机构通常使用公开的免费证书服务,证书有效期为 90 天,到期前由程序自动续期。
申请前确认域名解析与 80 端口已经就绪。证书机构需要通过公开网络访问你的服务器来验证域名归属,验证过程一般走 80 端口。如果解析还没生效,或者 80 端口被防火墙挡住,申请就会失败。遇到失败时先检查这两点,再看面板里的错误提示。
开启强制 HTTPS 跳转。证书申请成功后,建议开启从 HTTP 自动跳转到 HTTPS 的选项,这样访客无论输入哪种地址,最终都会走加密连接。是否同时开启更严格的安全头,要看目标服务是否兼容,兼容性未核实之前不要一次性全开,改一项测一项更稳妥。
第六步:排错、备份与日常维护
域名打不开,先分三段定位。第一段是解析,用命令行查询域名是否指向服务器地址;第二段是端口,确认 80 与 443 能从公网访问;第三段是目标服务,绕开反向代理直接访问内网地址,确认服务本身正常。三段都正常,再去检查代理主机的域名与端口是否填错。
证书申请失败,先看验证条件。最常见的原因是解析未生效、80 端口未放行,或者同一个域名在短时间内反复申请触发了限制。限制的具体次数与窗口以证书机构的官方说明为准,本文未核实具体数值。失败后不要不停地点重试,先修好前置条件再申请。
定期备份两个数据目录。程序数据与证书文件都保存在 Compose 文件挂载的数据卷里,定期把这两个目录复制到别处保存。换服务器或重装系统时,只要把 Compose 文件与这两个目录一起搬过去,配置与证书就能恢复,不用从头再配一遍。
完成检查:这几项都通过才算配好
域名能在浏览器正常打开,页面与登录功能正常;证书有效且浏览器显示安全连接;HTTP 能自动跳转到 HTTPS;管理端口不对公网开放;数据目录已经备份过一次;证书到期时间在面板里能看到且在正常续期。这六项都通过,你的第一个域名反代才算真正完成,后面再加域名,重复第四步与第五步就可以了。