Perlbal as reverse proxy connection handler only

Fred Moyer fred at redhotpenguin.com
Sun Jan 22 02:32:13 UTC 2006


Ask Bjørn Hansen wrote:
> 
> On Jan 21, 2006, at 5:58 PM, Fred Moyer wrote:
> 
>> I just took a stab at setting up Perlbal as a reverse proxy for use  
>> as a connection pooling mechanism to my Apache server.  It worked  for 
>> the host domain of the server, but my Apache server uses  several 
>> vhosts and none of those were working properly.
> 
> You forgot to include the part of you email where you wrote what you  
> did, what you expected to happen and what actually happened.  :-)
> 

I did indeed, my bad.  Thanks for calling me out on that Ask.  Below is 
what I was going to send out to the list as a proper diagnosis, until I 
figured out that that my virtual host configs were setup as <VirtualHost 
*:80> and I neglected to change it to listen to 8080.  Perlbal is 
working great as a reverse proxy now.  Time to take a break from the 
computer :)

Scenario:  I have an Apache heavy server running on port 80 on 
app.redhotpenguin.com.

What I want to do:  I want to implement Perlbal as a reverse proxy to 
proxy the requests back to the Apache server.  Perlbal will run on port 
80 and Apache will run on port 8080.

What I did:  I changed 'Listen 80' in httpd.conf to 'Listen 8080'.  I 
configured Perlbal with the following perlbal.conf [1] and started 
perlbal and restarted apache.

What happened as a result: Requests to http://app.redhotpenguin.com were 
  successful.  Requests to other virtual hosts on my Apache server (such 
as http://www.redhotpenguin.com returned a 404.

What I think is going on:  I think perlbal is sending HTTP 1.0 requests 
to apache instead of HTTP 1.1 requests.  So Apache is handling all 
requests with the default virtual host app.redhotpenguin.com.


CREATE POOL my_apaches
   POOL my_apaches ADD 127.0.0.1:8080

CREATE SERVICE balancer
   SET listen          = 0.0.0.0:80
   SET role            = reverse_proxy
   SET pool            = my_apaches
   SET persist_client  = on
   SET persist_backend = on
   SET verify_backend  = on
ENABLE balancer


More information about the perlbal mailing list