什么是反向代理?
一种 反向代理 是放置在一个或多个 Web 服务器前面的服务器,用于拦截来自客户端的请求。 当客户端尝试连接到网站的源服务器时,这些请求会被反向代理服务器拦截。 代理服务器将这些请求转发到代理服务器并从它接收响应以将它们发送给客户端。
反向代理的好处:
- 增强安全性
- 负载均衡
- 缓存
- SSL 加密等
安装指南
先决条件
- Nginx 网络服务器安装在 Ubuntu 服务器 20.04 LTS
- 在 Ubuntu Server 20.04 LTS 上配置的网站
- SSH 连接到远程机器(Nginx 和网站)
在本指南中,我将向您展示如何配置 NGINX 网络服务器 在几个简单步骤的帮助下作为反向代理。 为此,我使用了一个部署在 ubuntu 服务器 20.04 LTS 上的网站。 这将充当主服务器,或者您可以说代理服务器。 Nginx Web 服务器部署在另一个 ubuntu 服务器 20.04 LTS 上,我将在本教程中将其配置为反向代理。 在我的本地机器上,我安装了 Linux Mint 20.02,我将从这里与以下对象建立远程连接:
- Nginx Web Server的虚拟机IP地址:10.11.120.2
- 部署网站的虚拟机IP地址:10.11.120.3
让我们开始吧!
第 1 步:SSH 到 Nginx 机器
第一步是连接到安装了 Nginx 的远程机器。 我们将在这台机器上将 Nginx 配置为反向代理。 为此,请通过添加您部署 Nginx 的机器的用户名和 IP 来运行以下命令。 就我而言,它是 nginx 和 10.11.120.2。
ssh [email protected]
第 2 步:禁用预先配置的 Nginx 虚拟主机:
接下来,通过运行以下命令取消链接 Nginx 虚拟主机的默认配置:
unlink /etc/nginx/sites-enabled/default
第 3 步:创建反向代理配置文件
然后,我们将创建一个反向代理配置文件。
为此,请转到以下命令所示路径后的站点可用目录:
cd /etc/nginx/sites-available
现在,创建一个反向代理配置文件并使用 nano 编辑器打开它,如下所示:
sudo nano example.conf
复制以下行并将它们粘贴到您刚刚创建的文件中。
server { listen 80; server_name example.com; location / { proxy_pass https://10.11.120.3:80; } }
此配置告诉 Nginx 反向代理正在侦听端口 80 并重定向所有传入的连接请求 example.com 指向 10.11.12.3 服务器的 80 端口。
第 4 步:通过创建符号链接激活文件
在这里,我们将保存文件并通过创建如下符号链接来激活它:
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
第五步:测试配置文件
是时候测试我们的反向代理配置文件是否有错误了。 为此,请运行以下命令:
sudo nginx -t
如果您收到如下所示的“syntax is ok”消息,则表示您一切顺利。
第六步:重启 Nginx
最后一步是重新启动 Nginx Web 服务器,以便我们刚刚添加的新反向代理配置文件与 Nginx Web 服务器一起配置。 通过运行以下命令来执行此操作:
sudo systemctl restart nginx
现在您可以通过在您的机器上打开 Web 浏览器并运行该网站来测试它。 您将通过 Nginx 代理到 10.11.120.3 机器。
如果网站运行正常,这意味着你已经成功配置了 Nginx 反向代理。 恭喜! 你做的非常出色!
在本教程中,您看到了如何通过添加配置文件轻松地将 Nginx Web 服务器配置为反向代理。 通过这样做,您可以保护您的主服务器免受不同的网络攻击,或者您可以利用它来平衡传入的大量流量的负载。 听你的。
查看如何配置 Nginx Server Block 和 Secure Nginx Let’s Encrypt Rocky Linux 8 / CentOS 8 上的 SSL,请访问: