nginx uwsgi_pass 与proxy_pass 获取真实IP地址的正确方式

本文介绍如何在Nginx中使用proxy_pass和uwsgi_pass指令来正确设置X-Real-IP和X-Forwarded-For头,以获取客户端的真实IP地址。对于proxy_pass,需设置proxy_set_header;对于uwsgi_pass,则通过uwsgi_param来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx uwsgi_pass 与proxy_pass 获取真实IP地址的正确方式

proxy_pass 方式

proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

uwsgi_pass 方式

uwsgi_param   HTTP_X-Real-IP        $remote_addr;
uwsgi_param   HTTP_X-Forwarded-For  $proxy_add_x_forwarded_for;

在这里插入图片描述

### Ubuntu 系统下 Nginx 的配置需求分析 在 Ubuntu 系统中,Nginx 的配置并不一定需要特定的代码段,具体取决于实际的应用场景和服务需求。如果只是简单地运行默认页面,则无需额外修改配置文件即可正常工作[^1]。然而,在某些情况下(例如反向代理、负载均衡或添加自定义头部信息),则可能需要编写相应的配置指令来满足功能需求。 以下是几种常见的 Nginx 配置场景及其对应的代码示例: #### 默认站点配置 当通过包管理器安装 Nginx 或者完成编译安装后,默认会有一个基础配置文件位于 `/etc/nginx/sites-available/default` 中。此文件已经包含了基本的功能支持,比如静态资源访问和索引页加载。因此对于大多数简单的 Web 应用来说,并不需要特别增加新的代码片段就可以正常使用[^2]。 ```bash server { listen 80; server_name localhost; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } } ``` #### 反向代理设置 如果有计划让 Nginx 扮演反向代理角色以转发请求给其他服务器实例时,则确实需要用到一些专门定制化的参数设定。例如下面这段来自参考资料中的例子展示了如何将客户端 IP 地址附加到 X-Forwarded-For 头部字段并传递至上游 webserver[^3]: ```nginx location / { proxy_pass http://webserver/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; index index.html; } ``` 以上情况表明只有针对特殊用途才需引入更多复杂的规则集;而对于常规浏览服务而言,标准发行版附带的基础模板已足够应付日常操作所需。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值