lichangben

getRemoteAddr()获取客户端输入的ip地址

getRemoteAddr()获取客户端输入的ip地址

遇到的问题:

客户端输入的http://192.168.6.131:8888

服务器得到的是:http: //wxzj-web:80

原因:nginx配置问题

源码如下:

 /**
 * Returns the host name of the server to which the request was sent. It is
 * the value of the part before ":" in the <code>Host</code> header value,
 * if any, or the resolved server name, or the server IP address.
 *
 * @return a <code>String</code> containing the name of the server
 */
 public String getServerName();

之前nginx配置:


	......
	upstream wxzj-web {
        #server 192.168.0.41:8280 weight=1;
		server 127.0.0.1:8080 weight=1;
		#server 124.128.246.24:8180 weight=1;
    }

	......
	
	location /wxzj {
	    proxy_set_header Referer $http_referer;
        proxy_set_header Cookie $http_cookie;
	    proxy_set_header X-real-ip $remote_addr;
	    proxy_pass   http://wxzj-web; 
	}
	
	......
	

解决方法:

nginx配置添加下面参数

proxy_set_header Host $http_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-Proto $scheme;

各参数的含义如下所示。

  • Host包含客户端真实的域名和端口号;
  • X-Forwarded-Proto表示客户端真实的协议(http还是https);
  • X-Real-IP表示客户端真实的IP;
  • X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP。

	......
	
	upstream wxzj-web {
        #server 192.168.0.41:8280 weight=1;
		server 127.0.0.1:8080 weight=1;
		#server 124.128.246.24:8180 weight=1;
    }

	......
	
	location /wxzj {

		# 添加Host
        proxy_set_header Host $http_host;
        # 添加IP
        proxy_set_header X-Real-IP $remote_addr;
        # 添加X-Forwarded-For(以,分割的ip列表,第一个为真实的客户端ip)
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

	    proxy_set_header Referer $http_referer;
        proxy_set_header Cookie $http_cookie;
	    #这是webSocket的配置
        proxy_set_header Upgrade $http_upgrade;
        #这是webSocket的配置
 	    proxy_set_header Connection "upgrade";
        proxy_read_timeout 300;
        proxy_send_timeout 300;
        
		proxy_set_header X-Forwarded-Proto $scheme;
	    proxy_pass http://wxzj-web;
		
	}
	......
	
posted @ 2024-01-10 09:07  码小白很犇  阅读(76)  评论(0)    收藏  举报