记录nginx获取的真实ip多了 的问题

本文探讨了Nginx配置中关于IP地址显示为特殊字符的问题,并提供了具体的解决方案,通过调整proxy_set_header设置,正确处理X-Forwarded-For和X-real-ip头,确保远程地址被正确传递。

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

形如 右边 Â 122.122.122.122  如此的ip地址 

 

nginx配置:

server {
    listen       80;
    server_name  localhost;
    location /{
        root   html;
        index  index.html index.htm;
                        proxy_pass                  http://test; 
       proxy_redirect              off;
       proxy_set_header            X-Forwarded-For $remote_addr;
 }

 

此时 

String ip = request.getHeader("x-forwarded-for");

ip获取是形如  Â 122.122.122.122的地址

解决方式:

server {
    listen       80;
    server_name  localhost;
    location /{
        root   html;
        index  index.html index.htm;
                        proxy_pass                  http://test; 
       proxy_redirect              off;
       proxy_set_header            Host $host;
       proxy_set_header            X-real-ip $remote_addr;
       proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
                 # proxy_set_header            X-Forwarded-For $http_x_forwarded_for;
 }

即X-real-ip 搭配 $remote_addr;

X-Forwarded-For 搭配 $proxy_add_x_forwarded_for;

不能用$remote_addr变量赋值给X-Forwarded-For

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值