如何使用 Nginx 代理管理器 (NPM) 设置反向代理?

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 【7月更文挑战第25天】

Nginx代理管理器(NPM)是一个功能强大的工具,专为简化管理反向代理配置而设计。相比于手动配置Nginx等服务器,NPM提供了直观的用户界面,使得即使对于没有太多技术经验的用户也能轻松地设置和管理反向代理。在本部分,我们将深入探讨Nginx代理管理器的特点和优势。

Nginx 功能特点

Nginx代理管理器提供了一系列强大的功能,使得管理反向代理变得更加简单和高效。其主要功能特点包括:

  • 直观的用户界面: NPM提供了直观的Web界面,让用户通过图形化界面轻松完成代理设置和管理,无需深入了解Nginx配置文件的语法和结构。

  • SSL证书管理: NPM集成了Let’s Encrypt证书颁发机构,可以自动为代理服务颁发和更新SSL证书,实现安全的HTTPS连接。

  • 负载均衡: NPM支持负载均衡功能,可以将流量分发到多个后端服务器,提高系统的性能和可靠性。

  • 访问控制: 用户可以通过NPM设置访问控制规则,限制特定IP地址或IP地址范围的访问,增强系统的安全性。

  • 日志记录和监控: NPM提供了详尽的日志记录和监控功能,帮助用户实时监控系统运行状况,及时发现和解决问题。

  • 扩展性和定制化: NPM支持插件和扩展机制,用户可以根据自己的需求定制和扩展功能,满足不同场景的需求。

Nginx 优势和应用场景

相比于手动配置Nginx等服务器,使用Nginx代理管理器具有以下优势:

  • 简化配置流程: NPM提供了直观的用户界面,使得即使对于没有太多技术经验的用户也能轻松地设置和管理反向代理。

  • 提高工作效率: 使用NPM可以快速完成反向代理的配置和管理,节省了用户的时间和精力。

  • 增强安全性: NPM集成了SSL证书管理和访问控制功能,可以提高系统的安全性,保护用户数据不受攻击。

  • 提高系统可靠性: NPM支持负载均衡功能,可以将流量分发到多个后端服务器,提高系统的性能和可靠性。

Nginx代理管理器适用于各种场景,包括Web应用程序的部署、负载均衡、HTTPS加密等,是现代Web服务器管理的理想选择。

通过使用Nginx代理管理器,用户可以轻松地搭建安全可靠的反向代理服务,为其Web应用程序提供稳定高效的访问体验。

安装和配置Nginx代理管理器(NPM)

安装Docker和Docker Compose

首先,确保您的服务器上已经安装了Docker和Docker Compose。您可以按照官方文档提供的指南来安装它们。

安装Docker

https://docs.docker.com/get-docker

安装Docker Compose

https://docs.docker.com/compose/install

创建NPM的Docker网络

在安装Docker之后,我们需要创建一个Docker网络,以便Nginx代理管理器容器和其他容器之间可以互相通信。使用以下命令创建一个名为“reverse_proxy”的网络:

docker network create reverse_proxy

确保网络创建成功,可以使用以下命令检查:

docker network ls

部署NPM容器

一旦网络创建完成,我们就可以部署Nginx代理管理器容器了。首先,创建一个目录以存储NPM的配置文件和数据。然后,在该目录中创建一个名为docker-compose.yaml的文件,并将以下内容粘贴进去:

version: '3.8'
services:
  app:
    container_name: npm
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
    networks:
      - reverse_proxy
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

networks:
  reverse_proxy:
    name: reverse_proxy
    external: true

这个docker-compose.yaml文件定义了一个名为app的服务,使用了Nginx代理管理器的Docker镜像,并映射了一些端口,包括80端口(HTTP)、443端口(HTTPS)和81端口(管理界面)。它还将容器连接到了之前创建的reverse_proxy网络,并定义了一些数据卷以保持NPM的配置和证书数据。

接下来,运行以下命令以启动Nginx代理管理器容器:

docker-compose up -d

访问NPM的管理界面并进行初始设置

一旦容器启动完成,您可以通过浏览器访问Nginx代理管理器的管理界面。在浏览器中输入服务器的IP地址和端口81(例如http://your-server-ip:81),您将看到NPM的登录界面。

初次登录时,使用默认凭据进行登录:

  • 用户名:admin@example.com
  • 密码:changeme

登录成功后,系统将提示您更新管理员帐户信息。输入您的全名、用户名和有效电子邮件地址,然后点击“保存”按钮确认更改。

接下来,系统将要求您更新管理员密码。在“当前密码”字段中输入“changeme”,然后选择并输入新的安全密码,并点击“保存”以应用更改。

配置SSL证书以实现HTTPS连接

最后,您可以配置Nginx代理管理器以颁发和管理SSL证书,以实现安全的HTTPS连接。在NPM的管理界面中,转到“SSL证书”部分,并点击“添加SSL证书”按钮。填写所需信息,包括域名、有效电子邮件地址,并接受Let's Encrypt的条款,然后点击“保存”按钮以开始获取证书。

Nginx代理管理器将在后台自动处理证书的颁发和更新过程。一旦证书准备就绪,您就可以在NPM中配置反向代理以实现安全的HTTPS连接了。

配置反向代理和SSL证书

配置反向代理

反向代理允许将客户端的请求转发到后端的多个服务器上,从而实现负载均衡和增强性能。以下是配置Nginx代理管理器以设置反向代理的步骤:

  1. 登录Nginx代理管理器的管理界面。
  2. 转到主菜单,选择“主机”,然后选择“代理主机”子菜单。
  3. 点击“添加代理主机”按钮以添加一个新的代理主机。
  4. 在“详细信息”选项卡中,填写域名和其他相关信息。
    • 在“域名”字段中输入您要代理的域名。
    • 在“方案”字段中选择“http”或“https”,具体取决于您的后端服务器配置。
    • 在“转发主机名/IP”字段中输入后端服务器的主机名或IP地址。
    • 在“转发端口”字段中输入后端服务器的端口号。
    • 建议勾选“阻止常见攻击”选项以提高安全性。
  5. 切换到“SSL”选项卡,并选择您之前颁发的SSL证书。
    • 如果您的后端服务器支持HTTPS,建议勾选“强制SSL”选项,以确保所有流量都通过安全的HTTPS连接。
  6. 点击“保存”按钮以应用您的更改。

通过以上步骤,您已成功配置了Nginx代理管理器以设置反向代理,从而实现将客户端请求转发到后端服务器的功能。

管理SSL证书

SSL证书用于加密数据传输,保护客户端和服务器之间的通信安全。以下是管理SSL证书的步骤:

  1. 登录Nginx代理管理器的管理界面。
  2. 转到主菜单,选择“SSL证书”。
  3. 点击“添加SSL证书”按钮以开始获取证书。
  4. 在“域名”字段中输入您要颁发证书的域名。
  5. 输入您的有效电子邮件地址,并接受Let's Encrypt的条款。
  6. 点击“保存”按钮以开始获取证书。

Nginx代理管理器将在后台自动处理证书的颁发和更新过程。一旦证书准备就绪,您就可以在Nginx代理管理器中配置反向代理以实现安全的HTTPS连接了。

完成以上步骤后,您可以通过访问您的域名来测试您的反向代理和SSL证书。确保您的域名已正确解析到您的服务器,并尝试访问它。您应该能够安全地通过HTTPS连接访问您的网站,并且在浏览器中显示安全的锁图标。

其他配置和高级功能

IP地址访问限制

Nginx代理管理器允许您基于IP地址进行访问限制,以增强安全性。以下是如何配置IP地址访问限制的步骤:

  1. 登录Nginx代理管理器的管理界面。
  2. 转到主菜单,选择“访问列表”。
  3. 点击“添加访问列表”按钮以创建一个新的访问列表。
  4. 在“详细信息”选项卡中,输入一个描述性的名称。
  5. 切换到“访问”选项卡,并输入允许或拒绝访问的IP地址范围。
  6. 点击“保存”按钮以应用您的更改。

您可以将访问列表应用到特定的代理主机上,以限制从特定IP地址范围的访问。

自定义错误页面

Nginx代理管理器允许您自定义错误页面,以提供更好的用户体验。以下是如何配置自定义错误页面的步骤:

  1. 在Nginx代理管理器的管理界面中,转到“主机” -> “代理主机”。
  2. 选择您要配置的代理主机,并点击“编辑”按钮。
  3. 在“其他设置”选项卡中,找到“错误页面”部分。
  4. 输入您想要设置的错误页面的URL,例如404 Not Found错误页面的URL。
  5. 点击“保存”按钮以应用您的更改。

日志记录和监控

Nginx代理管理器提供了日志记录和监控功能,帮助您跟踪和分析流量。您可以在管理界面中查看访问日志和错误日志,以及监控服务器性能和资源使用情况。

要启用日志记录和监控功能,请转到管理界面中的相应部分,并根据需要配置日志文件的存储位置和级别,以及监控指标的显示和警报设置。

定制HTTP头部

Nginx代理管理器允许您定制HTTP头部,以增强安全性和性能。您可以添加、修改或删除HTTP头部,以满足您的特定需求。要配置自定义HTTP头部,请转到相应的设置页面,并根据需要进行配置。

高级负载均衡配置

Nginx代理管理器提供了高级负载均衡配置选项,允许您根据不同的算法和权重分配流量到后端服务器。您可以根据负载情况和性能需求选择合适的负载均衡算法,并配置权重以调整流量分配。

要配置高级负载均衡,请转到代理主机的设置页面,并在负载均衡选项卡中进行相应的配置。

自动化和集成

Nginx代理管理器支持自动化和集成,可以与其他工具和平台无缝集成,实现自动化部署、监控和调整。您可以使用Nginx代理管理器的API和插件系统来扩展其功能,并与其他系统集成,以实现自动化和持续集成/持续部署(CI/CD)流程。

通过利用这些高级功能,您可以进一步优化和定制您的Nginx代理管理器配置,以满足您的特定需求和业务场景。

总结

在本文中,我们介绍了如何使用Nginx代理管理器设置反向代理,并探讨了其各种功能和高级配置选项。通过正确配置Nginx代理管理器,您可以实现安全、高性能和可扩展的Web服务器架构,满足您的业务需求和用户期望。

目录
相关文章
|
23天前
|
监控 应用服务中间件 测试技术
确保正则表达式在 Nginx 代理中的准确性和稳定性
【10月更文挑战第19天】总之,正则表达式在 Nginx 代理中具有重要作用,但要确保其准确性和稳定性需要付出一定的努力和关注。通过以上方法的综合运用,我们可以提高正则表达式配置的可靠性,为用户提供更好的服务体验。
|
2天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
10天前
|
前端开发 应用服务中间件 定位技术
|
15天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题
|
5天前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
145 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
23天前
|
应用服务中间件 API nginx
使用正则表达式实现 Nginx 代理
【10月更文挑战第19天】在不断发展的互联网技术中,掌握正则表达式在 Nginx 代理中的应用是非常重要的。不断探索和实践,将有助于我们在实际工作中更好地运用这一技术,提升项目的质量和效率。
|
23天前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
30天前
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
31 0
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor
该博客文章提供了解决在使用npm版本7.19.1时出现的"no such file or directory"错误的具体方法,建议通过降级npm到6.14.8版本来解决问题,并确认了该方法可以成功安装node_modules。
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor

推荐镜像

更多