nginx+resin 后台如何获取客户端真实ip
时间: 2015-04-08来源:开源中国
前景提要
HDC调试需求开发(15万预算),能者速来!>>>
公司有个小web项目,nginx做代理转发,nginx和resin部署同一机器上,现在需要获取客户真实ip, nginx.conf配置文件主要内容如下 (这个配置是正常的,nginx能够转发请求)
worker_processes 1;
events {
use epoll;
worker_connections 1024;
}
http {

upstream backend_vv {
server 127.0.0.1:88;
}


include mime.types;
default_type application/octet-stream;


log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';


#access_log logs/access.log main;


sendfile on;

client_max_body_size 1024m;

keepalive_timeout 65;





server {
listen 80;
server_name zhishiku.51vv.com;
charset UTF-8;
access_log logs/access.log;
root /usr/local/resin/webapps/zhishiku;
index indexxx.html;

location / {


proxy_pass http://backend_vv/;
}


location ~ \.(jsp|do|xtp|action|htm)$ {
proxy_pass http://backend_vv;
}


location /WEB-INF {
deny all;
}


location /logs {
deny all;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}






}












}

用java获取ip代码
request.getHeader("x-forwarded-for");request.getHeader("Proxy-Client-IP");
ipAddress = request.getHeader("WL-Proxy-Client-IP");ipAddress = request.getRemoteAddr();
获取的ip为127.0.0.1(nginx的本地ip),看了网上参考加了下内容如下
proxy_buffering on;
proxy_buffers 8 8k;
proxy_ignore_client_abort on;
proxy_connect_timeout 60;
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;


不过加上去之后,重启nginx,从access.log日志看到接收到请求,但是转发不到resin上去,现在不知道怎么办了,求助下!!



科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行