在我们深入了解配置的所有细节以及更多内容之前,让我们先从基础知识开始。 Nginx 是一个非常强大的 Web 服务器,可以用作反向代理、负载均衡器或正向代理。为了了解此主题的一般信息,我们来讨论负载均衡器的原理,因为这个术语可能非常令人困惑。该平衡器将请求分布在一组服务器上,然后才将响应从服务器转发到客户端。
反向代理是驻留在内部服务器和客户端之间的应用程序。这种类型的服务器的工作方式是接受来自客户端的流量并将其转发到内部网络。这样,用户就无法直接访问内部服务器,只能通过反向代理访问。反向代理的主要优点是安全性、可扩展性和更好的 SSL 加密。
根据我们在这方面的实践经验,我们将解释如何配置 Nginx 来为同一位置的多个端点提供服务。为此,我们将使用反向代理设置。
1.配置Nginx
通过 Nginx 配置文件很容易弄清楚服务器如 马来西亚手机号码数据库表
何处理 HTTP 请求。主要配置文件称为 nginx.conf。如果我们具体讨论 Ubuntu,那么在这个操作系统上,它可以在 /etc/nginx 等目录中找到。这些指令可通过此文件访问,并且可以分组为块。
1.1.服务器阻止策略
服务器块也可以称为上下文。您完全定义了虚拟服务器。在下图中,我们使用listen来设置IP/主机名和端口:
服务器 {

听 345.0.1.1:8080;
}
复制
在此示例中,虚拟服务器的地址为 345.0.1.1,端口详细信息为 8080。
1.2.本地封锁政策
本地块存储有关服务器应如何处理匹配的 HTTP 请求的信息。该位置是用正则表达式/前缀字符串指定的。因此 HTTP 请求的 URL 与本地块匹配(尤其是带有前缀字符串或正则表达式)。
为了提供内容,我们可以使用 root,如下例所示:
服务器 {
听 345.0.1.1:8080;
位置 /书籍 {
根/信息/类别;
}
}
复制
在上面的示例中,返回info/categories目录中的文件,并将books添加到 location 与books 的URL 相匹配。
另一种选择可以是alias。该指令将请求 URL 添加到本地直接路径,以便可以跳过字符串前缀:
位置 /书籍 {
别名/info/categories;
}
复制
2. 多个代理端点的管理
在这里,我们将尝试通过创建 2 个虚拟服务器并模拟这 2 个端点来解释该过程的工作原理。之后,我们将解释设置 Nginx 服务器以通过 URL 端点投射请求的过程。
2.1.终点的确定
让我们从两个最简单的端点开始:
服务器 {
听 8081;
位置 /用户1 {
别名/info/user1;
}
}
服务器 {
听 8082;
位置/用户2{
别名/info/user2;
}
}
复制
这样我们就定义了2个虚拟服务器,每个块包含如下信息:
第一个服务器位于 8081 端口,内容直接从 /info/user1 目录传递,并与 /user1 匹配请求。
第二个示例位于端口 8082 上,内容从 /info/user2 目录提供,并将请求与 /user2 匹配。
2.2 . proxy_pass 策略
为了设置正确的转发,我们应该在本地块中使用 proxy-pass。此类指令的工作原理是将 HTTP 请求重定向到特定地址。下面是它应该是什么样子的图示:
复制
在此图中,已在端口 8000 上创建了一个虚拟服务器,并在此服务器中创建了 2 个位置,这些位置的工作方式如下:
/api 将请求重定向到原始端点(http://345.0.1.1:8081/user1)
/api/user2 将请求重定向到端点 http://345.0.1.1:8082/user2。
另一个必要的事实是 proxy_pass 如何重定向 URL。这里我们分享2个案例,例如:
Proxy_pass 将 URL 与主机名关联起来,格式为 http://345.0.1.1:8081
proxy_pass将URL连接到路径,即http://345.0.1.1:8081/user1