vbulletin fix for apache + nginx

Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • vbulletin fix for apache + nginx

    Here is a fix for vbulleting forum sites which have installed apache with nginx proxy on the server,

    without this fix all users of the site will have the same ip (the ip of the server the site installed at)

    the problem can appear if you set timeout limit of 15 minutes after several login fails, this will cause that users who login with correct username and password will receive an error message like: You have used up your failed login quota! Please wait 15 minutes before trying again.

    so here is a fix:

    open includes/class_core.php with your editor and replace functions fetch_ip()
    and fetch_alt_ip()

    by this:

    PHP Code:
    function fetch_ip()
    $_SERVER["HTTP_X_REAL_IP"]))return $_SERVER["HTTP_X_REAL_IP"];        
            else return 
    $_SERVER["HTTP_X_REAL_IP"]))$alt_ip =  $_SERVER["HTTP_X_REAL_IP"];        
    $alt_ip =  $_SERVER['REMOTE_ADDR'];        #$alt_ip = $_SERVER['REMOTE_ADDR'];

    if (isset($_SERVER['HTTP_CLIENT_IP']))
    $alt_ip $_SERVER['HTTP_CLIENT_IP'];
            else if (isset(
    $_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s'$_SERVER['HTTP_X_FORWARDED_FOR'], $matches))
    // make sure we dont pick up an internal IP defined by RFC1918
    foreach ($matches[0] AS $ip)
                    if (!
    $alt_ip $ip;
            else if (isset(
    $alt_ip $_SERVER['HTTP_FROM'];


    i have simpy added the $_SERVER["HTTP_X_REAL_IP"] to both functions because thi is the enviroment variable which shows the correct user ip in nginx

    after i fixed mine i found a similar article here: http://wiki.unixcraft.com/display/~g...+load+balancer

  • #2
    You can use $http_remote_addr and set:

    server { underscores_in_headers on;
    Last edited by Anshul; 11-07-09, 12:30.


    • #3
      I too have smiliar problem on my apach and nginx as proxy server.. I can't get this modification to get work with the latest version of Vbulletin 3.8.4..

      Please give me the updated version of this modification or please attach the modified file for me..
      Thank you.


      • #4
        here is the editet file for vb 3.8.4 i havent tested it because here is an older version of vb installed, hope it works.

        extract it and upload to includes/ directory


        • #5
          btw. another way to get real ip is to install the mod_rpaf install instruction which worked for me you can find here: Reduce Apache’s Load With Nginx On RHEL 5.2 - Vpire Blog


          • #6
            Thank you very much... It works :D