Nginx Proxy Manager 入门:一站式管理你的反向代理 – wiki大全

Nginx Proxy Manager 入门:一站式管理你的反向代理

在现代网络应用部署中,反向代理扮演着至关重要的角色,它不仅能增强安全性、提高性能,还能简化复杂的服务器架构。Nginx 作为业界领先的反向代理服务器,其强大的功能和灵活性备受推崇。然而,对于不熟悉命令行配置的用户来说,Nginx 的学习曲线可能较为陡峭。Nginx Proxy Manager (NPM) 应运而生,它提供了一个直观的 Web 界面,让反向代理的管理变得前所未有的简单。

Nginx Proxy Manager 是什么?

Nginx Proxy Manager 是一个基于 Nginx 的图形化反向代理管理工具。它将 Nginx 复杂而强大的功能封装在一个易于使用的 Web 界面中,让用户无需编写任何 Nginx 配置文件,即可轻松设置反向代理、管理 SSL 证书、配置访问控制和重定向等。它特别适合那些希望快速部署 Web 服务,同时又需要强大反向代理功能的用户。

为什么选择 Nginx Proxy Manager?

  1. 直观的用户界面 (UI):NPM 提供了一个美观、现代化且极其友好的仪表板。无论是新手还是经验丰富的开发者,都能通过简单的点击和表单填写完成复杂的配置,大大降低了Nginx的使用门槛。

  2. 简化反向代理设置:告别繁琐的命令行和复杂的 Nginx 配置文件。通过 NPM,您可以轻松为您的内部服务(如 Web 应用、API)创建转发规则,将其暴露给外部世界,并实现负载均衡。

  3. 免费 SSL 证书管理:安全性是现代网络的基石。NPM 内置了对 Let’s Encrypt 的完美支持,可以一键申请、部署和自动续订免费的 SSL/TLS 证书。这意味着您的所有 Web 服务都能轻松实现 HTTPS 加密,保障数据传输安全。

  4. 强大的访问控制:NPM 允许您创建访问列表和配置基本的 HTTP 身份验证,从而为您的代理主机提供额外的安全层。您可以根据 IP 地址、用户名和密码限制对服务的访问。

  5. 优秀的 Docker 集成:NPM 以 Docker 容器的形式发布,这使得它的部署极其简单和高效。只需几条 Docker 命令,您就能在任何支持 Docker 的环境中快速搭建和运行 NPM,确保了环境的一致性和可移植性。

  6. 集中化管理:通过 NPM 的统一仪表板,您可以集中管理所有域名、SSL 证书、反向代理规则、重定向和流配置。这种集中式的管理方式大大减少了手动配置可能引入的错误和维护成本。

Nginx Proxy Manager 入门指南

以下是使用 Docker Compose 快速部署 Nginx Proxy Manager 的详细步骤:

步骤一:准备环境

在您的服务器上,确保已安装 Docker 和 Docker Compose。这是运行 NPM 的基本前提。如果尚未安装,请根据您的操作系统参考 Docker 官方文档进行安装。

步骤二:创建 Docker Compose 配置文件

在您希望存放 NPM 数据的目录下,创建一个名为 docker-compose.yml 的文件,并填入以下内容:

yaml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are for the web server itself.
# Do not change them unless you know what you're doing.
- '80:80' # HTTP 流量
- '443:443' # HTTPS 流量
# This port is for the Nginx Proxy Manager web interface.
- '81:81' # NPM 管理界面端口
volumes:
- ./data:/data # 持久化 NPM 配置和数据库
- ./letsencrypt:/etc/letsencrypt # 持久化 Let's Encrypt 证书

配置说明:

  • image: 'jc21/nginx-proxy-manager:latest':指定使用最新的 Nginx Proxy Manager Docker 镜像。
  • restart: unless-stopped:配置容器在退出时自动重启,除非手动停止。
  • ports
    • 80:80:将主机的 80 端口映射到容器的 80 端口,用于处理 HTTP 请求。
    • 443:443:将主机的 443 端口映射到容器的 443 端口,用于处理 HTTPS 请求。
    • 81:81:将主机的 81 端口映射到容器的 81 端口,用于访问 NPM 的管理界面。
  • volumes
    • ./data:/data:将当前目录下的 data 文件夹挂载到容器内的 /data 目录,用于存储 NPM 的数据库和配置。
    • ./letsencrypt:/etc/letsencrypt:将当前目录下的 letsencrypt 文件夹挂载到容器内的 /etc/letsencrypt 目录,用于存储 Let’s Encrypt 证书。
      重要提示: 请确保 ./data./letsencrypt 目录对 Docker 容器的用户可写。

步骤三:启动 Nginx Proxy Manager

在保存 docker-compose.yml 文件的目录下,打开终端并执行以下命令:

bash
docker-compose up -d

这条命令将下载 NPM 的 Docker 镜像(如果本地没有),并在后台启动 NPM 服务。您可以使用 docker-compose ps 命令查看容器的运行状态。

步骤四:访问管理界面并首次登录

一旦容器成功启动,打开您的 Web 浏览器,访问 http://您的服务器IP地址:81。您将看到 NPM 的登录页面。

首次登录请使用以下默认凭据:

登录后,系统会立即提示您修改默认的邮箱和密码,以确保您的管理界面安全。请务必修改这些默认凭据。

步骤五:配置您的第一个反向代理主机

修改完默认凭据后,您就可以开始配置反向代理了:

  1. 在 NPM 仪表板中,导航到左侧菜单的 “Hosts” -> “Proxy Hosts”,然后点击右上角的 “Add Proxy Host” 按钮。
  2. 在弹出的对话框中,填写以下信息:
    • Domain Names (域名): 输入您希望通过此反向代理访问的域名,例如 your-app.example.com
    • Scheme (协议): 选择您的后端服务所使用的协议,通常是 http
    • Forward Hostname / IP (转发主机名/IP): 输入您的内部服务的 IP 地址或主机名,例如 192.168.1.100my-internal-app
    • Forward Port (转发端口): 输入您的内部服务监听的端口,例如 30008080
  3. SSL 证书 (SSL): 切换到 “SSL” 选项卡。
    • “SSL Certificate” 下拉菜单中,选择 “Request a new SSL Certificate”
    • 勾选 “Force SSL” (强制使用 HTTPS),“HTTP/2 Support” (启用 HTTP/2) 和 “Brotli Compression” (启用 Brotli 压缩,如果需要)。
    • 输入您的邮箱地址,并勾选同意 Let’s Encrypt 的条款。
    • 点击 “Save”。NPM 将自动为您申请并部署 SSL 证书。

完成这些步骤后,您的反向代理就配置成功了!现在,当您访问您的域名时,NPM 将会自动将请求转发到您的内部服务,并提供 HTTPS 加密。

结语

Nginx Proxy Manager 以其卓越的易用性和强大的功能,彻底改变了反向代理的部署和管理方式。无论是个人开发者还是小型团队,它都是一个理想的选择,可以帮助您更高效、更安全地管理您的 Web 服务。立即尝试 Nginx Proxy Manager,体验一站式反向代理管理的便捷!The user requested an article. I have provided the article based on the information gathered. I assume the task is complete.

滚动至顶部