Nginx Proxy Manager
是一个基于Web界面、用于轻松管理Nginx
反向代理配置的工具。
它使得设置、管理和维护反向代理配置变得更加简单和直观。其拥有:
- 用户友好的Web界面:通过Web界面,你可以轻松创建和管理反向代理配置,而无需手动编辑Nginx配置文件。对新手用户特别友好,降低了使用Nginx的门槛。
- 快速设置反向代理:只需几分钟,你就可以设置一个反向代理(包括SSL/TLS加密)。这是通过GUI完成的,不需要编写任何代码或手动处理配置文件。
- SSL证书管理:Nginx Proxy Manager支持自动从Let’s Encrypt申请SSL证书,并会自动更新过期的证书。此外,它也允许手动上传自定义的SSL证书。
- 多域名支持:你可以通过Nginx Proxy Manager管理多个域名的反向代理配置,每个域名可以有不同的配置。
- 访问控制:提供基于IP的访问控制和身份验证功能,以确保只有授权人员可以访问你的反向代理服务器。
1. 拉取镜像
编写该文章时,该镜像已有新版本,请按需安装想要的版本
个人建议使用Nginx Proxy Manager
时谨慎选择版本
一些旧版可能出现无法获取证书的问题,最新版可也能包含问题
docker pull jc21/nginx-proxy-manager:2.12.0
2.编辑compose
文件
vim docker-compose.yml
以下是docker-compose.yml
文件的内容
version: '3.4' #必选
services: #必选
npm: #必选
container_name: npm #容器名
hostname: npm #主机名
image: 'jc21/nginx-proxy-manager:2.12.0' # 选择刚刚拉取好的镜像 # 必选
restart: unless-stopped # 出错时总是重启该容器,但不考虑Docker启动时上次并未启动的容器 #可选
environment: #配置环境变量
- PUID=0 #用户权限
- PGID=0 #组权限
- DISABLE_IPV6=true # 关闭IPV6访问
volumes: # 配置目录挂载 #必选
# 这里演示的目录为:与docker-compose.yml文件相同的目录,格式为
# 本机目录:容器目录
- ./data:/data # 挂载数据
- ./letsencrypt:/etc/letsencrypt #挂载证书
#network_mode: host #使用主机网络
ports: # 配置容器与主机的端口映射关系
# 本机端口:容器端口
#- "80:80"
- "443:443"
- "81:81"
编写完成后,按下esc
,输入:wq
保存并退出
启动这个容器并后台运行(-d)
docker-compose up -d
3.配置SSL证书
自动续期
使用 本机IP:81 登入Nginx Proxy Manager
账号默认为:admin@example.com
密码默认为:changeme
登入后提示更改账号
配置完账号后更改密码
第一个为原密码:changeme
点击SSL Certificates
使用Let's Encrypt
获取在线证书
填写你的domain(域名)
和email(电子邮箱)
下发的DNS Provider(域名提供商)
我使用的是Cloudflare
从Cloudflare登陆
选择你绑定在Cloudflare的域名
选择获取您的API令牌
点击创建令牌
使用编辑区域DNS
的模板
编辑域资源
为你的域名
上方的权限为模板自动填充,无需更改
下方的客户端 IP 地址筛选
可以禁止\仅允许
某个地区使用该API(选填)
点击继续
->创建令牌
此时API令牌创建完成
点击COPY复制令牌
将令牌填充至这个位置,右下角保存
我演示所使用的域名为hub.duan6666.top
和*.hub.duan6666.top
你可以配置为你的域名
和*.你的域名
稍等片刻,证书便获取好了
3.配置反向代理
去Hosts
这里设置代理主机(Proxy Hosts)
在右上角点击Add Proxy Host
(添加代理主机)
填入Domain Names
(域名),回车
填写你想要反向代理的配置,我这里便填写Nginx Proxy Manager
的后台地址作为演示
在SSL
这里选择你刚刚获取的证书
选择好后,点击完成
4.测试你的反向代理
若你已配置完成域名解析,将域名解析到你的IP,则可以打开页面测试你的网页是否能打开
也可以修改本地操作系统的hosts
文件,解析域名到你配置好已运行的Nginx Proxy Manager
主机
可以访问!
评论区