2.4. 将 NGINX 配置为 HTTP 流量的反向代理
您可以将 NGINX web 服务器配置为作为 HTTP 流量的反向代理。例如,您可以使用此功能将请求转发到远程服务器上的特定子目录。从客户端的角度来看,客户端从它所访问的主机加载内容。但是 NGINX 会从远程服务器加载实际内容并将其转发给客户端。
此流程解释了如何将到 web 服务器上 /example
目录的流量转发到 URL https://example.com
。
先决条件
- NGINX 已安装。
- 可选:反向代理上启用了 TLS 加密。
流程
编辑
/etc/nginx/nginx.conf
文件,并将以下设置添加到应提供反向代理的server
块中:location /example { proxy_pass https://example.com; }
location /example { proxy_pass https://example.com; }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow location
块定义 NGINX 将/example
目录中的所有请求传给https://example.com
。将
httpd_can_network_connect
SELinux 布尔值参数设置为1
,来配置 SELinux 允许 NGINX 转发流量:setsebool -P httpd_can_network_connect 1
# setsebool -P httpd_can_network_connect 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
nginx
服务:systemctl restart nginx
# systemctl restart nginx
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
使用浏览器并连接到
http://host_name/example
,显示https://example.com
的内容。