+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.5هزار بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 8.1هزار بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 499 بازدید
+1 امتیاز
1 پاسخ 17.4هزار بازدید
0 امتیاز
2 پاسخ 707 بازدید
0 امتیاز
1 پاسخ 3.0هزار بازدید
...