Andrea wrote:
Hy everybody,
I'm configuring Apache as a reverse proxy and I am doing loadbalancing
between some backend servers.
I' am doing load balancing using mod_rewrite. My backend webapps
(every webapp is replicated in various servers) use cookies to mantain
sessions.
So my goal was to redirect every user to same server he first was
redirected to.
I achieved this setting the environment variable SERVER to the server
name the user is first redirected to, then storing this value in a
cookie; all the following request of the same user are then redirected
to the server whose name is stored in the "backend_server" cookie.
My question is:
what is the scope of the SERVER environment variable ? What happens if
many users request simultaneusly ? Does the value of SERVER is shared
inconsistently ?
I mean...may a user be redirected to the wrong server ?
Below I enclose the my config.
Any help is really appreciated.
Thanks
Andrea
RewriteMap lb rnd:/usr/local/apache2/conf/backend.table
RewriteCond %{HTTP_COOKIE} (^|(.+;)*)backend_server=(.+)(;?)
RewriteRule ^/s1_webconsole/(.*)$ http://%3/webconsole/$1
[E=SERVER:%3,P,L]
RewriteCond %{HTTP_COOKIE} !(^|(.+;)*)backend_server=(.+)(;?)
RewriteRule ^/s1_webconsole/(.*)$ to://${lb:www}/$1
RewriteRule ^to://([^/]+)/(.*)$ http://$1/$2 [E=SERVER:$1,P,L]
<Location /s1_webconsole>
...
Header add Set-Cookie backend_server=%{SERVER}e;Path=/s1_webconsole
...
</Location>
Why not use "pound"?
Andrea wrote:
> Hy everybody,
> I'm configuring Apache as a reverse proxy and I am doing loadbalancing
> between some backend servers.
> I' am doing load balancing using mod_rewrite. My backend webapps
> (every webapp is replicated in various servers) use cookies to mantain
> sessions.
>
> So my goal was to redirect every user to same server he first was
> redirected to.
> I achieved this setting the environment variable SERVER to the server
> name the user is first redirected to, then storing this value in a
> cookie; all the following request of the same user are then redirected
> to the server whose name is stored in the "backend_server" cookie.
>
> My question is:
> what is the scope of the SERVER environment variable ? What happens if
> many users request simultaneusly ? Does the value of SERVER is shared
> inconsistently ?
> I mean...may a user be redirected to the wrong server ?
>
> Below I enclose the my config.
>
> Any help is really appreciated.
> Thanks
> Andrea
>
>
> RewriteMap lb rnd:/usr/local/apache2/conf/backend.table
> RewriteCond %{HTTP_COOKIE} (^|(.+;)*)backend_server=(.+)(;?)
> RewriteRule ^/s1_webconsole/(.*)$ http://%3/webconsole/$1
> [E=SERVER:%3,P,L]
> RewriteCond %{HTTP_COOKIE} !(^|(.+;)*)backend_server=(.+)(;?)
> RewriteRule ^/s1_webconsole/(.*)$ to://${lb:www}/$1
> RewriteRule ^to://([^/]+)/(.*)$ http://$1/$2 [E=SERVER:$1,P,L]
>
> <Location /s1_webconsole>
> ...
> Header add Set-Cookie backend_server=%{SERVER}e;Path=/s1_webconsole
> ...
> </Location>
Why not use "pound"?
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]