news 2026/4/3 4:18:40

Nginx 请求转发配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx 请求转发配置指南

Nginx 请求转发配置指南

1. 简介

Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文档将介绍如何使用 Nginx 配置请求转发,并解释一些常用的配置参数。

2. Nginx 安装

在配置之前,确保你的系统已经安装了 Nginx。如果未安装,可以使用以下命令进行安装:

在 CentOS/RHEL 上:
sudo yum install nginx -y
在 Ubuntu/Debian 上:
sudo apt-get update sudo apt-get install nginx -y

安装完成后,使用以下命令启动 Nginx:

sudo systemctl start nginx

3. 配置文件路径

Nginx 的主配置文件通常位于/etc/nginx/nginx.conf。另外,站点级别的配置文件可以放在/etc/nginx/conf.d/目录中。

4. 配置转发

4.1 基本配置

以下是一个基本的 Nginx 请求转发配置示例,它会监听服务器的某个端口,并将请求转发到指定的目标服务器。

server { listen 8888; # 监听本地服务器的8888端口 server_name _; # 通配所有主机头 location / { proxy_pass http://192.168.101.30:9000; # 将请求转发到目标服务器 proxy_set_header Host $host; # 保留原始主机头 proxy_set_header X-Real-IP $remote_addr; # 获取客户端的真实IP地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持X-Forwarded-For头 proxy_set_header X-Forwarded-Proto $scheme; # 支持X-Forwarded-Proto头,指示请求协议 } }
4.2 参数解释
  • listen:指定 Nginx 监听的端口。在上面的例子中,Nginx 监听 8888 端口。

  • server_name:用于匹配客户端请求的Host头信息。可以设置为特定的域名、IP 地址或使用_通配符匹配所有请求。

  • location:定义 Nginx 如何处理指定路径的请求。在本例中,/表示匹配所有路径。

  • proxy_pass:指定要将请求转发到的后端服务器。它可以是一个 URL,也可以是一个上游服务器组。

  • proxy_set_header:这些指令用于设置传递给后端服务器的请求头:

    • Host:保留客户端请求中的主机头。
    • X-Real-IP:获取客户端的真实 IP 地址,并传递给后端服务器。
    • X-Forwarded-For:记录请求经过的代理服务器 IP 地址链。
    • X-Forwarded-Proto:指示请求使用的协议(HTTP 或 HTTPS)。

5. 重新加载配置

每次修改 Nginx 配置文件后,都需要重新加载配置才能生效:

sudo nginx -s reload

你可以使用以下命令测试 Nginx 配置文件的语法是否正确:

sudo nginx -t

6. 示例场景

6.1 场景一:端口转发

将所有从本地服务器 8888 端口的请求转发到http://192.168.101.30:9000

server { listen 8888; server_name _; location / { proxy_pass http://192.168.101.30:9000; } }
6.2 场景二:基于路径的转发

将访问/api路径的请求转发到http://backend-server/api,其他路径则返回 404。

server { listen 8080; server_name _; location /api/ { proxy_pass http://backend-server/api/; } location / { return 404; } }

7. 参考资料

  • Nginx 官方文档
  • Nginx 配置教程

通过这份文档,技术同事可以了解如何配置 Nginx 进行请求转发,并能熟悉几个关键配置项的用途。如果有更多问题,建议参考官方文档或联系有经验的同事讨论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 8:34:26

Elasticsearch高可用集群搭建:操作指南

搭建一个真正扛得住的 Elasticsearch 高可用集群:从零开始的实战指南你有没有遇到过这种情况?线上系统一切正常,突然监控告警:Elasticsearch 节点挂了。紧接着,搜索接口超时、日志查不到、Kibana 页面一片红……而更糟…

作者头像 李华
网站建设 2026/3/20 11:59:55

快速理解 ImportError: libcudart.so.11.0 的定位与修复流程

当 PyTorch 找不到 libcudart.so.11.0 :一次深入的 Linux 动态链接排障之旅 你有没有在深夜调试模型时,突然被这样一行红字击中: ImportError: libcudart.so.11.0: cannot open shared object file: no such file那一刻,仿佛整…

作者头像 李华
网站建设 2026/3/31 20:18:39

AI助力PASSWALL插件开发:5分钟自动生成安全代理工具

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个类似PASSWALL的代理插件,需要实现以下功能:1.支持SS/SSR/V2Ray/Trojan多种协议 2.内置节点订阅功能 3.流量统计和速度测试 4.智能路由规则 5.用户权…

作者头像 李华
网站建设 2026/3/20 4:04:31

Postman在微服务架构中的实战应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个微服务API测试平台,集成Postman的核心功能。用户可以导入微服务API定义,自动生成测试用例,支持批量执行和结果分析。平台应提供可视化报…

作者头像 李华
网站建设 2026/3/29 21:32:08

MyBatis 核心属性详解笔记(由浅入深)

MyBatis 核心属性详解笔记(由浅入深) MyBatis 作为半ORM框架,核心是通过映射配置将 Java 对象与数据库表/字段关联,而映射配置中的各类属性是实现这一关联的“桥梁”。掌握这些属性的含义和使用场景,能避免类型转换错误…

作者头像 李华