Nginx Proxy Manager Docker 容器代理介绍与使用
type
Post
status
Published
date
May 17, 2023
slug
NPM
summary
tags
icon
介绍
内置 Let's Encrypt 加密证书,免费证书只有 3 个月,但到期会自动续上
安装
1. 创建 docker-compose.yml 文件
内容如下:
最后 4 行是重点
2. 创建名为 npm 的 docker network
3. 启动 NPM
4. 打开防火墙端口 80, 81, 443
以腾讯云服务器为例
5. 浏览器地址栏输入 <IP 地址>:81
即可进入 Nginx Proxy Manager 的 web 管理界面
默认账户密码为:
登录后系统会提示修改邮箱和密码,修改即可
使用
- 在
example.com
域名管理中,设置一条 A 记录,将gotify.example.com
定向到我们运行 NPM容器的服务器的 IP
- 创建一个 gotify 服务并加入 npm 网络
- 在 NPM 的 web 管理界面配置
gotify.example.com
解析到容器
1. DNS 设置域名解析到 IP
以阿里云 DNS 为例
2. 创建一个 gotify 服务并加入 npm 网络
内容如下:
13, 14 行设置了 gotify 服务的用户名和密码,可以自行设置
最后四行令 gotify 加入 npm 网络
启动 gotify 容器
3. 配置 gotify.example.com
解析到容器
进入 NPM 的 web 管理界面
上图 6 和 7 处的说明:
6 服务容器名:在 gotify 的 docker-compose.yml 文件第 6 行
container_name: gotify-server
7 服务端口:在 gotify 的 docker-compose.yml 文件第 10 行 # - 82:80
,冒号前的 82
是指通过转发到的主机端口, 冒号后的 80
才是 gotify 这个容器本来的端口。我们使用 NPM 进行域名直接定向到服务容器,无需转发到主机端口,故注释第 9, 10 行点击保存后需要一段时间生成 ssl 证书,等待完成即可
以后所有的 docker 容器代理都通过这三步完成
问题
每次新请求一个 SSL 证书时,都会报 Internal Error,重装过 docker 也没有用
尝试使用 Caddy