Index: wp-settings.php
===================================================================
--- wp-settings.php	(revision 11553)
+++ wp-settings.php	(working copy)
@@ -105,6 +105,23 @@
 if ( empty($PHP_SELF) )
 	$_SERVER['PHP_SELF'] = $PHP_SELF = preg_replace("/(\?.*)?$/",'',$_SERVER["REQUEST_URI"]);
 
+/**
+ * Fix remote address behind a load balancer
+ *
+ * If what follows doesn't work with your setup, configure the define in your wp-config.php file
+ *
+ * @since 2.9
+ */
+if ( defined('WP_REMOTE_ADDR') ) {
+	$_SERVER['REMOTE_ADDR'] = WP_REMOTE_ADDR;
+} elseif ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) ) {
+	// this one can have multiple IPs separated by a coma 
+	$_SERVER['REMOTE_ADDR'] = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); 
+	$_SERVER['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'][0]; 
+} elseif ( isset($_SERVER['HTTP_X_REAL_IP']) ) {
+	$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; 
+}
+
 if ( version_compare( '4.3', phpversion(), '>' ) ) {
 	die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %s but WordPress requires at least 4.3.'/*/WP_I18N_OLD_PHP*/, phpversion() ) );
 }
