WordPress could be behind reverse proxy and $_SERVER['REMOTE_ADDR'] variable could show wrong IP address.
Add this code to wp-config.php to fix wrong IP:
if ( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) { //check ip from share internet $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // to check ip is pass from proxy, also could be used ['HTTP_X_REAL_IP '] $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } $_SERVER['REMOTE_ADDR'] = $ip; // set ip via complex method because remote_addr could have proxy ip
Article about getting real IP address.