y

These instructions are in need of freshening for current Pressflow releases. There is no longer a LOGGED_IN cookie. Now, only authenticated users (and certain types of interactive anonymous users) should have a session cookies.

Configuring Pressflow to work with your reverse proxy servers

  1. Edit settings.php.
  2. Add the following to your $conf array, keeping any other settings there:
    $conf = array(
        'reverse_proxy' => TRUE,
        'reverse_proxy_addresses' => array(
          '10.0.0.1', // Reverse proxy host A
          '10.0.0.2', // Reverse proxy host B
          '10.0.0.3', // Reverse proxy host C
          [...]
        ),
      );
    
  3. Configure the "reverse_proxy_addresses" array to contain the IP addresses of your reverse proxy servers. This will allow Pressflow to only accept genuine "X-Forwarded-For" headers from your reverse proxy server(s).
  4. Enable Drupal's page cache in admin/settings/performance as follows:
    1. Set the Caching Mode to External.
    2. Set the Page Cache Maximum Age to an appropriate value (anything over 0).
  5. Test your configuration:
    1. Sign out.
    2. Install the Live HTTP Headers extension for Firefox and start viewing headers.
    3. Sign in, and look for the "LOGGED_IN" cookie being received in your HTTP headers.
    4. Click on another page, and check that the "LOGGED_IN" is being sent.
    5. Sign out, and look for the "LOGGED_IN" cookie being received with an expired date in your HTTP headers.
    6. Click on another page, and check that the "LOGGED_IN" is not being sent.

Configuring Squid to observe Pressflow's authentication headers

  1. Install the basic configuration below.
  2. Replace pressflow.example.com with the site you're proxying to.
  3. Replace 10.0.1.1 with the IP address of the Apache server you're proxying to.