目录
一、Nginx简介
Nginx 作为一款高性能的 Web 服务器和反向代理服务器,广泛应用于现代互联网,特别是对于实现微服务架构下的负载均衡和 API 网关功能至关重要。在互联网基础设施中扮演着重要角色,特别在高并发、高性能的网站和应用程序部署中。
Nginx 具有如下特点:
- 高性能:占用内存少,处理能力强,能够支持高并发连接。
- 稳定性:长期运行稳定性高。
- 低资源消耗:相比其他服务器软件,Nginx 对系统资源的使用非常高效。
- 跨平台:可在多种操作系统上运行
- 易于部署和维护:安装简单,配置文件结构清晰,文档丰富,社区活跃,持续更新和维护。
二、代理
所谓的代理就是一个代表,此时涉及两个角色,一个是被代理的角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务过程称为代理过程。
2.1 正向代理
正向代理就是经常接触的代理模式,正向代理位于客户端与目标服务器之间,代表客户端向目标服务器发起请求。客户端首先将请求发送到正向代理服务器,代理服务器再将请求转发给目标服务器,并将收到的结果返回给客户端。在这个过程中,目标服务器看到的是代理服务器的 IP地址,而不是客户端的真实 IP,从而达到隐藏客户端身份的目的。
正向代理需要在客户端进行配置,明确代理服务器地址,可以为客户提供一定程度上的匿名性和安全性。
比如,在企业内部网络中,正向代理可以作为访问外网资源的唯一出口,通过代理服务器可以实施严格的访问策略。
2.2 反向代理
反向代理位于目标服务器之前,代表服务器接收客户端的请求。客户端实际上并不直接与目标服务器通信,而是将请求发送给反向代理服务器,由反向代理服务器将请求转发给内部网路中的一个或多个目标服务器,并将从这些服务器接收到的响应返回给客户端。这样客户端感知不到实际处理请求的服务器。
反向代理的特点是对用户透明,提供了一层额外的防护。
三、代理配置
Nginx 的主配置文件为 nginx.conf,它决定了 Nginx 的运行方式、监听端口、处理请求方式、以及如何与后端服务器进行交互等关键配置。配置文件示例如下:
#use