折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >其他技术> nginx反向代理获取IP的问题

nginx反向代理获取IP的问题

以前的文章有设置ip_hash的方式,设置后,如果动态调用的server的参数

会获取到代理的名字,而不是服务器IP,经实践,加入:


proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

这几句代码,就可以获取到IP了,而不是upstream里的名字,完整代码如下:


#先在nginx.conf中定义一组upstream
upstream pre-cloud_Backend {
         server pre-cloud.website.com:8080;
         ip_hash;
         check interval=5000 rise=1 fall=3 timeout=30000;
         check_http_expect_alive http_2xx http_3xx;  #tengine的健康检查模块
 }
 
#conf.d/下定义一个文件					 
server{
        listen 80;
        server_name cloud.website.com;
        limit_conn perserver 10000;
 
        location / {
        proxy_next_upstream error timeout http_503 http_504 http_502;
        proxy_connect_timeout 500s;
        proxy_read_timeout 500s;
        proxy_send_timeout 500s;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://pre-cloud_Backend;
        }
}

参照:https://blog.csdn.net/qq_41049126/article/details/96978519

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《nginx反向代理获取IP的问题

奖励一下

取消

您的认可,是我写博客的动力,谢谢您!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论

路人甲 表情
看不清楚?点图切换