NPMplus 项目使用教程
1. 项目介绍
NPMplus 是一个基于 Docker 的 Nginx 代理管理工具,旨在为用户提供一个简单而强大的界面来管理 Nginx 代理主机。该项目是 NginxProxyManager 的一个分支,提供了更多的功能和改进,包括免费的 TLS 证书管理、HTTP/3 支持、ModSecurity 集成等。
NPMplus 的主要特点包括:
- 美观且安全的管理界面
- 轻松创建转发域名、重定向、流和 404 主机
- 使用 Certbot 自动获取免费的 TLS 证书
- 支持访问控制列表和基本 HTTP 认证
- 支持 HTTP/3 (QUIC) 协议
- 集成 ModSecurity 和 CrowdSec IPS
2. 项目快速启动
安装 Docker 和 Docker Compose
首先,确保你已经安装了 Docker 和 Docker Compose。你可以按照以下官方文档进行安装:
创建 compose.yaml
文件
创建一个 compose.yaml
文件,内容如下:
version: '3'
services:
npmplus:
image: zoeyvid/npmplus
container_name: npmplus
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
启动 NPMplus
在终端中运行以下命令来启动 NPMplus:
docker-compose up -d
访问管理界面
NPMplus 启动后,你可以通过浏览器访问 http://<你的IP地址>:81
来进入管理界面。默认的管理员用户名和密码如下:
- 邮箱:
admin@example.com
- 密码:
iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi
首次登录后,系统会要求你修改用户信息和密码。
3. 应用案例和最佳实践
案例1:使用 NPMplus 管理多个网站
假设你在家中运行了多个网站,并且希望通过一个统一的界面来管理这些网站的代理和 TLS 证书。你可以使用 NPMplus 来轻松实现这一目标。
- 在 NPMplus 的管理界面中,创建一个新的代理主机。
- 配置域名、目标 IP 和端口。
- 启用 TLS 证书,NPMplus 会自动为你申请并配置 Let's Encrypt 证书。
案例2:集成 ModSecurity 进行 Web 应用防火墙 (WAF) 保护
NPMplus 支持集成 ModSecurity,你可以通过以下步骤启用 ModSecurity:
- 在
compose.yaml
文件中添加 ModSecurity 相关的配置。 - 在 NPMplus 的管理界面中,启用 ModSecurity 并配置相应的规则。
最佳实践
- 定期备份数据:定期备份
/data
和/letsencrypt
目录,以防止数据丢失。 - 使用强密码:确保管理员账户使用强密码,并定期更换密码。
- 监控日志:定期检查 NPMplus 的日志,以便及时发现和解决问题。
4. 典型生态项目
CrowdSec
CrowdSec 是一个开源的 IPS (入侵防御系统),可以与 NPMplus 集成,提供更强大的安全防护。你可以通过以下步骤集成 CrowdSec:
- 在
compose.yaml
文件中添加 CrowdSec 服务。 - 配置 CrowdSec 的日志收集和分析。
- 在 NPMplus 中启用 CrowdSec 集成。
ModSecurity
ModSecurity 是一个开源的 Web 应用防火墙,NPMplus 内置了对 ModSecurity 的支持。你可以通过以下步骤启用 ModSecurity:
- 在
compose.yaml
文件中添加 ModSecurity 相关的配置。 - 在 NPMplus 的管理界面中,启用 ModSecurity 并配置相应的规则。
通过这些生态项目的集成,NPMplus 可以提供更全面的安全和管理功能,帮助你更好地保护和管理你的网站。