⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 极客之家 「丛林」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

Nginx Proxy Manager(简称NPM)是一款基于Nginx构建的开源反向代理管理工具,由开发者社区维护。

它通过简洁的Web界面,将复杂的Nginx配置转化为可视化操作,支持SSL证书自动化管理、访问控制、负载均衡等功能,被誉为“反向代理领域的瑞士军刀”,适合新手和中小型项目快速搭建安全的网络服务。

优势

  • 零配置门槛: 无需编写Nginx配置文件,表单化操作即可完成服务代理。
  • 自动化SSL: 集成Let's Encrypt,支持通配符证书自动申请与续期。
  • 轻量级部署: 提供Docker镜像,支持一键部署与升级。
  • 跨平台兼容: 适配Linux、群晖NAS、云服务器等多种环境。

核心功能

1. 反向代理与协议支持

  • 多协议转发: 支持HTTP/HTTPS/WebSocket协议,通过域名将外部请求转发至内网服务(如本地3000端口的Web应用)。
  • 负载均衡: 可配置多个后端服务器,实现流量分发(需手动扩展配置)。

2. SSL证书管理

  • 一键申请: 输入域名后自动通过Let's Encrypt生成免费SSL证书,支持泛域名(如*.example.com)。
  • 强制HTTPS: 全局开启HTTPS跳转,提升服务安全性。

3. 访问控制与安全

  • IP黑白名单: 限制特定IP访问敏感服务。
  • 基础认证: 为代理服务添加账号密码验证。
  • 漏洞防护: 内置常见攻击拦截规则(如SQL注入、路径遍历)。

4. 高级扩展

  • 自定义Nginx配置: 支持插入自定义代码片段,实现缓存策略、Header修改等高级功能。
  • 多级缓存架构: 通过多实例联动构建分层缓存,提升高并发场景性能。

快速部署

1. 环境部署

安装Docker和Docker-compose

2. 创建YAML文件

创建一个 docker-compose.yml 文件:

version: '3'
services:
app:
image: 'chishin/nginx-proxy-manager-zh:release'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

3. 部署运行

docker-compose up -d

4. 登录管理页面

当你的docker容器成功运行,使用浏览器访问81端口。 有些时候需要稍等一段时间。

http://127.0.0.1:81

默认管理员信息:

Email:    admin@example.com
Password: changeme

使用这个默认用户登录后,系统会立即要求您修改详细信息和密码。

5. 快速升级

docker-compose down
docker-compose pull
docker-compose up -d

这个项目将自动更新任何数据库或其他要求,所以你不必遵循任何疯狂的指示。上面的这些步骤将提取最新的更新并重新创建docker容器。

界面预览

开源地址

https://github.com/NginxProxyManager/nginx-proxy-manager

文章目录
  1. 1. 优势
  2. 2. 核心功能
    1. 2.0.1. 1. 反向代理与协议支持
    2. 2.0.2. 2. SSL证书管理
    3. 2.0.3. 3. 访问控制与安全
    4. 2.0.4. 4. 高级扩展
  • 3. 快速部署
    1. 3.0.1. 1. 环境部署
    2. 3.0.2. 2. 创建YAML文件
    3. 3.0.3. 3. 部署运行
    4. 3.0.4. 4. 登录管理页面
    5. 3.0.5. 5. 快速升级
  • 4. 界面预览
  • 5. 开源地址