2.4. 将 NGINX 配置为 HTTP 流量的反向代理
您可以将 NGINX web 服务器配置为作为 HTTP 流量的反向代理。例如,您可以使用此功能将请求转发到远程服务器上的特定子目录。从客户端的角度来看,客户端从它所访问的主机加载内容。但是 NGINX 会从远程服务器加载实际内容并将其转发给客户端。
这个流程解释了如何将流向web 服务器上的/example目录的流量转发到URLhttps://example.com。
先决条件
- NGINX 已安装,如 安装和准备 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_connectSELinux 布尔值参数设置为1,以便将 SELinux 设置为允许 NGINX 转发流量:setsebool -P httpd_can_network_connect 1
# setsebool -P httpd_can_network_connect 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
nginx服务:systemctl restart nginx
# systemctl restart nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
使用浏览器连接到
http://host_name/example,就会显示https://example.com的内容。