Nginx反向代理设置的好处是什么?
使用Nginx作为反向代理的好处包括:
- 客户端通过单个Web地址访问所有后端资源。
- 反向代理可以提供静态内容,这减少了Express等应用服务器上的负载,Tomcat或WebSphere。
- Nginx反向代理可以通过保护后端资源的防火墙进行导航。
- 反向代理可以充当高速缓存或缓冲器以减少延迟。
- 通过对站点的单点访问,用户访问控制大大简化。
Nginx反向代理配置步骤
按照以下步骤设置和配置您自己的Nginx反向代理服务器:
- 在Windows或Linux服务器上安装Nginx(先决条件)。
- 添加Nginx代理通行证 在虚拟主机或默认配置文件中设置。
- 将上下文根映射到后端服务器的URL。
- 可选地,设置Nginx反向代理的头部以用于后端。
- 重新启动Nginx反向代理并测试反向代理设置。
安装Nginx
在Ubuntu上,安装最新版本的Nginx。执行apt-get更新 和/或apt-get升级 命令,后跟apt-get install 命令
sudo apt-获取更新-y 正在阅读包列表...完成 sudo apt-get upgrade -y 正在计算升级...完成
sudo apt-get install nginx -y 以下Nginx包将安装在Ubuntu 22上: libnginx-mod-http-geoip2 nginx-common nginx-core nginx-proxy 安装nginx 1.18 ubuntu 22... Done
如何验证Nginx安装?
执行尽职调查并检查Nginx服务器安装是否成功。
状态检查应该表明Nginx处于活动状态。
sudo systemctl status nginx ● nginx - 一个高性能的web,http和反向代理服务器 Loaded:loaded(/lib/systemd/system/nginx.service;enabled;) 有效: active(Nginx服务器运行)
添加Nginx proxy_pass设置
Nginx反向代理配置中最重要的配置步骤是添加代理通行证 将传入URL映射到后端服务器的设置。
在这个Nginx反向代理示例中,我们假设Apache Tomcat服务器在端口8080的本地主机上运行,并且我们需要Nginx代理应用程序 的上下文根/示例.
该代理通行证 在任何虚拟主机配置文件的位置部分配置。要设置Nginx代理通行证 全局,编辑默认值 Nginx中的文件网站-可用 文件夹
sudo nano /etc/nginx/sites-available/default
Nginx proxy_pass示例
对于本例,我们设置Nginx反向代理的位置映射,以转发任何具有/示例 在指向运行在端口8080上的Apache Tomcat服务器的URI中:
#nginx反向代理映射示例 # /etc/nginx/sites-available/default 区位/示例 { 代理_通行证http://localhost:8080/示例; }
设置Nginx代理头值
默认情况下,Nginx将自己的IP地址中继到反向代理目标。
要让Nginx中继发出原始请求的客户端的IP地址、主机和端口信息,可以设置代理集标头 价值观
此外,Nginx缓冲数据以帮助管理繁重的工作负载,但这对于需要尽可能低延迟的应用程序来说可能是不可取的。代理缓冲 关闭用于Nginx反向代理配置。
这个Nginx反向代理示例关闭缓冲,同时为处理代理请求的后端服务器设置客户端头:
#示例nginx反向代理配置文件 # /etc/nginx/sites-available/default 区位/示例 { 代理通行证 http://localhost:8080/examples; 代理缓冲 关闭; 代理集标头 X-Real-IP $remote_addr; 代理集标头 X-Forwarded-Host $host; 代理集标头 X-Forwarded-Port $server_port; }
添加这些Nginx代理传递,代理缓冲 和/或代理集标头 更新到默认配置文件并保存更改。
重新启动Nginx作为反向代理
要查看Nginx作为反向代理的功能,只需重新启动服务器以加载新配置。
sudo systemctl restart nginx
当服务器上线后,尝试通过Nginx反向代理访问后端服务器。在这个例子中,我们可以通过Nginx访问运行在8080端口上的Tomcat服务器。
http://localhost/示例 --代理--〉 http://localhost:8080/例
Nginx反向代理转发充当Tomcat上示例应用程序的所有请求的单一入口点。这证明Nginx反向代理配置设置是成功的。
这就是在Ubuntu上配置和设置Nginx反向代理的简单程度。