docker的集群模式容器内如果需要获取客户端真实ip,往往只能获取到10.255.X.X。

翻了一圈网上的解决方案,基本上锁定了用Nginx进行域名转发后加参数的方法。

server {
            listen 12345;//端口
            server_name www.bbb.com;//域名

            location / {
                    proxy_pass http://www.ccc.com:12346;
                    proxy_set_header    Host             $host:$server_port;//转发后端口别忘了
                    proxy_set_header    X-Real-IP        $remote_addr;
                    proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
                    proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;//关键句
                    proxy_set_header    X-Forwarded-Proto $scheme;
                    proxy_redirect      default;
        }
    }
 

感谢观看,有问题有建议有意见请留言,谢谢!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐