Nginx 管理器 | Nginx Proxy Manager | 反向代理神器
条评论前言
Nginx 是运行在 Linux上 的 web 服务器软件,通过监听 VPS 的80、443端口来处理 web 相关请求。还可以将搭建的项目请求路径由IP:端口号
改为自己的域名,但是需要自己编写反向代理配置。
Nginx Proxy Manager 是一个 Nginx 的代理管理器。即使没有 Nginx 基础,也能轻松地用它来完成反向代理的操作,而且因为自带面板,操作极其简单,一键即可申请 Let’s Encrypt 的 SSL 证书,每三个月自动续期,非常适合配合 docker 搭建的应用使用。
项目展示 [无图]
内存占用:115M,缓慢增长
开始安装
参考教程:
扩展阅读:
简易流程:
安装 Docker
我们通过Docker来部署NPM,所以需要先安装Docker Compose。
参考:【VPS实用项目搭建】Docker Compose 安装及常用命令整理
安装 NPM
创建安装目录
1 | sudo -i |
编辑 docker-compose.yml 配置文件
1 | vim docker-compose.yml |
填入以下内容
1 | version: '3.8' |
vim编辑器使用方法:
在文件内按i
开启编辑模式,按ESC
退出编辑模式
按ctrl+:
输入指令,wq
指令为保存并退出
检查一下端口占用
1 | lsof -i:81 |
如果啥也没出现则表示端口未被占用,否则要在 docker-compose.yml 修改 :81
左侧为其他未被占用端口。
1 | # 如果报错 |
此外要在安全组/防火墙中开放81端口
根据配置文件创建并在后台运行容器
1 | docker compose up -d |
这样就安装好了 Nginx Proxy Manager。此时输入 IP:81
即可打开NPM管理面板。
默认登录账号密码为
1 | Email: admin@example.com |
进入面板后可以先改一下账号信息。
申请泛域名SSL证书
对Docker进行反代,如果域名需要使用https协议,则需要SSL证书。NPM可以为我们一键申请由Let’s Encript 颁发的SSL证书。通过申请泛域名证书,则可以一次性为某个域名及其子域名申请一张证书,不用每个项目都申请一次证书,方便。
参考教程:【Docker系列】反向代理神器NginxProxyManager——通配符SSL证书申请 | 爱玩实验室 (iwanlab.com)
打开NPM->SSL Certificates->Add SSL Certificate,填入域名:xxx.com和*.xxx.com,填入邮箱,勾选I agree xxx。
保存后即可使用该证书。
配置反向代理
后续用Docker搭建的应用都可以用NPM来配置反向代理。也可以为自身配置反代。
1 | # 查看本机Docker内部默认网关 |
打开NPM,Add Proxy Host,
在Details中:域名例如npm.lumengde.com,Scheme为http,IP为本机IP或docker内部默认网关172.17.0.1,勾选后两项。
在SSL中:选中对上一步申请的SSL证书即可,勾选Force SSL。
此外,在DNS服务商处添加该子域名解析。
然后等一会,访问对应的域名即可成功访问网站。
更新&卸载
更新NPM
1 | cd /root/data/docker_data/npm |
卸载NPM
1 | cd /root/data/docker_data/npm |
通过CF DNS获取SSL证书
如果域名改用CloudFlare的DNS,则NPM申请SSL证书需要通过CD的API Token。
打开CloudFlare->头像->My Profile->API Tokens->Create Token->Edit zone DNS->Zone Resources选All zones->Continue to summary->Create Token
然后会得到类似这样的令牌和测试可用性代码。
令牌:fl5s-SQqful_DkyDFlU7syMLmb2fXA2UoiqnZ1nN
测试可用性代码:
1 | curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \ -H "Authorization: Bearer fl5s-SQqful_DkyDFlU7syMLmb2fXA2UoiqnZ1nN" \ -H "Content-Type:application/json" |
可以先执行代码看下令牌可用性。
打开NPM->SSL Certificates->Add SSL Certificate,输入泛域名,勾选Use a DNS challenge,选择Cloudflare。在dns_cloudflare_api_token =
后替换自己的令牌,勾选I agree xxx…,点击保存即可。
后续域名在CF添加解析记录即可。
本文标题:Nginx 管理器 | Nginx Proxy Manager | 反向代理神器
文章作者:德德
发布时间:2024-06-14
最后更新:2024-06-14
原始链接:https://lumengde123.github.io/posts/7798.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!