+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)
برچسب گذاری دوباره قبل توسط

ما یک برنامه تحت وب جاوا توسعه داده ایم که در آن آدرس IP کاربران خود را log می کنیم، در محیط تست این کار به درستی انجام می شود و برای هر کاربر IP آن کاربر ذخیره می شود ولی برروی سرور اصلی فقط یک IP برای تمامی کاربران ذخیره می شود. پس از بررسی متوجه شدیم که آن IP برای یکی از سرورهای load balancer هاست می باشد.

برای بدست آوردن آدرس IP کاربران از کد زیر استفاده می کنیم:

httpRequest.getRemoteAddr();

با تشکر از راهنماییتون.

2 پاسخ

+4 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

شما می توانید برای حل مشکلتون از کد زیر استفاده کنید:

String ipAddress = request.getHeader("X-FORWARDED-FOR");  
if (ipAddress == null) {  
    ipAddress = request.getRemoteAddr();  
}
+3 امتیاز
قبل توسط (1.5هزار امتیاز)

برای بدست آوردن آدرس getway  از این کد استفاده کنید

request.getHeader("VIA")

 

سوالات مشابه

+3 امتیاز
2 پاسخ 1.4هزار بازدید
+1 امتیاز
1 پاسخ 980 بازدید
0 امتیاز
1 پاسخ 8.0هزار بازدید
+1 امتیاز
1 پاسخ 988 بازدید
+1 امتیاز
1 پاسخ 967 بازدید
0 امتیاز
1 پاسخ 405 بازدید
+1 امتیاز
1 پاسخ 17.3هزار بازدید
0 امتیاز
2 پاسخ 628 بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
...