反向代理可以为您的网络及其安全性创造奇迹。了解如何配置NGINX以实现此目的。
管理员通常使用两种类型的代理:
- 客户端使用前向代理或简称为“代理”来绕过防火墙限制,或用作LAN的缓存服务器
- 反向代理用于帮助实现Web服务器的负载平衡和高可用性
显然,对于管理员来说,两者中最重要的是反向代理。正是这种类型的代理使公司可以在其网站上使用多个服务器,而反向代理充当流量管理器,可以将来自客户端的数据包定向到任何一个后端服务器。
当前,更流行的反向代理工具之一是NGINX。尽管NGINX本身是Web服务器,但它在充当反向代理方面做得非常出色。有了这个,您可以获得以下好处:
- 单点访问服务器
- 简化访问控制任务
- 降低敏感数据的风险
- 帮助实现合规
- 实现后端服务器的透明维护
- 负载平衡和故障转移
我将引导您使用NGINX设置非常基本的反向代理。在以后的教程中,我们将在此基础上添加功能。
你需要什么
使这项工作唯一需要的是Linux的运行实例。我将在Ubuntu Server 18.04上进行演示,但是您可以使用任何支持NGINX的发行版。如果您使用的不是基于Debian的发行版,则需要修改所有安装说明。
如何安装NGINX
我假设您没有安装NGINX。为此,请登录到您的Ubuntu Server实例并发出以下命令:
sudo apt-get install nginx -y
使用以下命令启动并启用该服务:
sudo systemctl start nginx
sudo systemctl enable nginx
如何创建一个新的NGINX配置文件
我们将创建一个全新的默认NGINX配置文件。在执行此操作之前,重要的是要使用以下命令取消链接原始的默认配置:
sudo unlink /etc/nginx/sites-enabled/default
现在,我们将使用以下命令创建新的配置文件:
sudo nano /etc/nginx/sites-available/proxy_config.conf
在该新文件中,粘贴以下内容:
server {
listen 80;
location / {
proxy_pass http://SERVER;
}
}
其中SERVER是您要向其发送流量的服务器的IP地址或域。
保存并关闭文件。
创建此新配置文件后,我们需要通过使用以下命令创建链接来激活它:
sudo ln -s /etc/nginx/sites-available/proxy_config.conf /etc/nginx/sites-enabled/proxy_config.conf
使用以下命令重新启动NGINX:
sudo systemctl restart nginx
如何测试反向代理
现在将NGINX配置为反向代理,打开浏览器并将其指向托管代理的服务器的地址。该地址应自动重定向到您在proxy_config.conf文件中使用proxy_pass伪指令设置的地址。
恭喜,您的基本NGINX代理服务器已启动并正在运行。现在,您可以将本应流向目标服务器的流量定向到反向代理服务器,然后流量将到达正确的目的地。
尽管此配置不会做太多事情,但是您现在已基本了解如何进行设置。下次,我们将使用相同类型的配置以NGINX作为反向代理来处理负载平衡。