Hello,
I have been trying *all night* but could not get mod_backhand doing what it
should do. There are no error messages. Requests are NOT processed by the
server chosen by backhand BUT by the original server. (And: /backhand/ shows
port :0 instead of :80 for each other server respectiveley - maybe this has
something to do with it, but I do not know how to fix it).
There are two servers, one (192.168.100.1) receives the original HTTP
requests and has a backhanded <Directory>. The second (192.168.100.8) SHOULD
receive the requests from backhand (and the logfiles show that backhand
selects it). BUT the request is processed on the first server
(192.168.100.1).
This is the log file output on 192.168.100.1: Looks to me like backhand
decides to hand this request to the other server
(www14.peperoni.de=192.168.100.8), but the access_log shows that the request
is processed by 192.168.100.1 itself (I also wrote a logfile from within PHP
to be absolutely sure about that):
==> /var/log/httpd/error_log <==
[Tue Jun 24 08:54:38 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[removeSelf(NULL)] (2 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byAge(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[byRandom(NULL)] (1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byCPU(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] All funcs executed -> www14.peperoni.de
[Tue Jun 24 08:54:38 2003] [notice] (Type =>) = *{ backhand-redirection,
backhand:/wap_faq.php3, backhand/redirect }
[Tue Jun 24 08:54:39 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:39 2003] [notice] (Type =>) = { (null), /wap_faq.php3,
(null) }
==> /u/web/genieuk/stats/access_log.1056412800 <==
192.168.100.9 - - [24/Jun/2003:08:54:40 +0200] "GET /wap_faq.php3 HTTP/1.1"
200 7371 "http://virtualhost.peperoni.de/wap_faq.php3" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0)"
Why is this happening? Can you see it from the logfile or can I give you
more information from other files to solve this?
This is the output of http://.../backhand/ - please note the :0 (???) in
192.168.100.8:0 and 192.168.100.1:0 (and the extremely high Age value for
the local host):
Output on 192.168.100.1 (Hostname=peperoni.dyndns.org):
0 peperoni.dyndns.org 1056437103 192.168.100.1:80 327442432 264357056 0/0 0
[0] 408551 1 0.170000/1 0.000000
1 www14.peperoni.de 0 192.168.100.8:0 1910 0 0/0 0 [0] 0 2020 1.000000/1
0.004000
Output on 192.168.100.8 (Hostname=www14.peperoni.de):
0 www14.peperoni.de 1056437127 192.168.100.8:3001 2020 MB 1914 MB 0/0 0 [0]
4780530 4 0.150/1 0.00
1 peperoni.dyndns.org 1 192.168.100.1:0 1 MB 327442432 MB 408551/0 0
[255358144] 0 0 0.000/0 1.000
This is the configuration (in parts) of 192.168.100.1 and 192.168.100.8 - I
have even changed the port on the second box to 3001 to see whether this
makes any difference in the /backhand/ output (it does not). I have also
removed the listen 443 line so there is only one listen line but it does not
help.
192.168.100.1:
UnixSocketDir /var/state/backhand
MulticastStats 192.168.100.1:80 192.168.100.8:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
Allow from 192.168.100
NameVirtualHost 192.168.100.1:80
<VirtualHost 192.168.100.1:80>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>
<Directory "/usr/local/httpd/htdocs/genieuk">
Backhand removeSelf
Backhand byAge
Backhand byRandom
Backhand byCPU
BackhandLogLevel +netall,+mbcsall,+dcsnall
</Directory>
192.168.100.8:
UnixSocketDir /var/lib/backhand
MulticastStats 192.168.100.8:3001 192.168.100.1:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
</Location>
NameVirtualHost 192.168.100.8:3001
<VirtualHost 192.168.100.8:3001>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>
These are the software versions (we have one new server but cannot
completely re-install the old server as it is already productive):
192.168.100.1:
Apache/1.3.20 (Linux/SuSE) mod_jk/1.2.2 balanced_by_mod_backhand/1.2.0
PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b
192.168.100.8:
Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2 PHP/4.3.1 mod_perl/1.27
mod_ssl/2.8.12 OpenSSL/0.9.6i mod_backhand/1.2.2
I hope that someone can help me finding a solution for this strange
behavior!!
Thomas
PS: I tried to use the mod_backhand/1.2.2 from the new server on the old
one. But this is what happens:
Cannot load /usr/lib/apache/mod_backhand.so into server: /lib/libc.so.6:
version `GLIBC_2.3' not found (required by /usr/lib/apache/mod_backhand.so)
Is there any way of trying the new version without the risk of hurting the
system by installing new versions of everything?
I have been trying *all night* but could not get mod_backhand doing what it
should do. There are no error messages. Requests are NOT processed by the
server chosen by backhand BUT by the original server. (And: /backhand/ shows
port :0 instead of :80 for each other server respectiveley - maybe this has
something to do with it, but I do not know how to fix it).
There are two servers, one (192.168.100.1) receives the original HTTP
requests and has a backhanded <Directory>. The second (192.168.100.8) SHOULD
receive the requests from backhand (and the logfiles show that backhand
selects it). BUT the request is processed on the first server
(192.168.100.1).
This is the log file output on 192.168.100.1: Looks to me like backhand
decides to hand this request to the other server
(www14.peperoni.de=192.168.100.8), but the access_log shows that the request
is processed by 192.168.100.1 itself (I also wrote a logfile from within PHP
to be absolutely sure about that):
==> /var/log/httpd/error_log <==
[Tue Jun 24 08:54:38 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[removeSelf(NULL)] (2 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byAge(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[byRandom(NULL)] (1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byCPU(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] All funcs executed -> www14.peperoni.de
[Tue Jun 24 08:54:38 2003] [notice] (Type =>) = *{ backhand-redirection,
backhand:/wap_faq.php3, backhand/redirect }
[Tue Jun 24 08:54:39 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:39 2003] [notice] (Type =>) = { (null), /wap_faq.php3,
(null) }
==> /u/web/genieuk/stats/access_log.1056412800 <==
192.168.100.9 - - [24/Jun/2003:08:54:40 +0200] "GET /wap_faq.php3 HTTP/1.1"
200 7371 "http://virtualhost.peperoni.de/wap_faq.php3" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0)"
Why is this happening? Can you see it from the logfile or can I give you
more information from other files to solve this?
This is the output of http://.../backhand/ - please note the :0 (???) in
192.168.100.8:0 and 192.168.100.1:0 (and the extremely high Age value for
the local host):
Output on 192.168.100.1 (Hostname=peperoni.dyndns.org):
0 peperoni.dyndns.org 1056437103 192.168.100.1:80 327442432 264357056 0/0 0
[0] 408551 1 0.170000/1 0.000000
1 www14.peperoni.de 0 192.168.100.8:0 1910 0 0/0 0 [0] 0 2020 1.000000/1
0.004000
Output on 192.168.100.8 (Hostname=www14.peperoni.de):
0 www14.peperoni.de 1056437127 192.168.100.8:3001 2020 MB 1914 MB 0/0 0 [0]
4780530 4 0.150/1 0.00
1 peperoni.dyndns.org 1 192.168.100.1:0 1 MB 327442432 MB 408551/0 0
[255358144] 0 0 0.000/0 1.000
This is the configuration (in parts) of 192.168.100.1 and 192.168.100.8 - I
have even changed the port on the second box to 3001 to see whether this
makes any difference in the /backhand/ output (it does not). I have also
removed the listen 443 line so there is only one listen line but it does not
help.
192.168.100.1:
UnixSocketDir /var/state/backhand
MulticastStats 192.168.100.1:80 192.168.100.8:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
Allow from 192.168.100
NameVirtualHost 192.168.100.1:80
<VirtualHost 192.168.100.1:80>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>
<Directory "/usr/local/httpd/htdocs/genieuk">
Backhand removeSelf
Backhand byAge
Backhand byRandom
Backhand byCPU
BackhandLogLevel +netall,+mbcsall,+dcsnall
</Directory>
192.168.100.8:
UnixSocketDir /var/lib/backhand
MulticastStats 192.168.100.8:3001 192.168.100.1:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
</Location>
NameVirtualHost 192.168.100.8:3001
<VirtualHost 192.168.100.8:3001>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>
These are the software versions (we have one new server but cannot
completely re-install the old server as it is already productive):
192.168.100.1:
Apache/1.3.20 (Linux/SuSE) mod_jk/1.2.2 balanced_by_mod_backhand/1.2.0
PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b
192.168.100.8:
Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2 PHP/4.3.1 mod_perl/1.27
mod_ssl/2.8.12 OpenSSL/0.9.6i mod_backhand/1.2.2
I hope that someone can help me finding a solution for this strange
behavior!!
Thomas
PS: I tried to use the mod_backhand/1.2.2 from the new server on the old
one. But this is what happens:
Cannot load /usr/lib/apache/mod_backhand.so into server: /lib/libc.so.6:
version `GLIBC_2.3' not found (required by /usr/lib/apache/mod_backhand.so)
Is there any way of trying the new version without the risk of hurting the
system by installing new versions of everything?