Jim,
From the information you provide I'd say the connection *is*
being made between Apache and WebWare (from mod_webkit to the
application server). At least at the socket level. And likely at
the request level too.
Your message didn't include any content from the WebWare logs
(Logs/{Activity,Errors}.csv) which might be helpful. Also, make
sure you've elected all the debug options in the configurations
so the application server can provide debug messages.
(q.v., line 468 of application.py.)
A quick look at the archives tells me you're not alone on this
problem, however. I searched on "301." Something like your
symptoms have been around since 2000; here's a typical one:
-- http://sourceforge.net/mailarchive/message.php?msg_id=1307195
So, the localhost->127.0.0.1 workaround might be working for you.
Although I did basic connection tests for the workaround in all
combinations of that configuration (in apache, webkit, appserver),
I didn't run the test suites. So it may only be a partial w/a.
I've moved on in my configuration using the patch I mentioned so
it's not convenient to try to match (parts of) your configuration
(including IPv6-related configurations for your Apache compile).
I *did*, however run the test suite on the patch (provided below
in patch(1) format, wrapped a shar(1) archive); but only on my
configuration. (So be prepared to patch -R and make; make install.)
I'm just new to this too, so I may be missing something obvious.
Luckily we're provided with great debugging tools on the
application server side ... starting with Python.
Also, mod_webkit2.c is a good place to insert debug or tracing
messages. Line 420 has a (context-only) instruction just waiting
to be uncommented. And the lines immediately after that one offer
a template for printing some of the other data related to the
request -- which will help you create a context+content tracing.
If you decide to apply the patch, you might as well also make a few
of these changes.
Good luck; let me hear how it goes.
Best,
--Nick
===========cut from here==============
#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.2c).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 2004-01-05 16:38 PST by <>.
# Source directory was `'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
# This format requires very little intelligence at unshar time.
# "if test", "echo", "mkdir", and "sed" may be needed.
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 1976 -rw-r--r-- patch1
#
echo=echo
shar_tty= shar_n= shar_c='
'
mkdir _sh29362 || ( echo 'failed to create locking directory' '_sh29362'; exit 1 )
# ============= patch1 ==============
if test -f 'patch1' && test "$first_param" != -c; then
$echo 'x -' SKIPPING 'patch1' '(file already exists)'
else
$echo 'x -' extracting 'patch1' '(text)'
sed 's/^X//' << 'SHAR_EOF' > 'patch1' &&
XPatch Webware-0.8.1/WebKit/Adapters/mod_webkit2/mod_webkit.c
XFor use on TCP/IPv6-capable host under Apache2
XUntil WebKit is TCP/IPv6 aware, ask Apache2 to prefer IPv4 sockets
XNick Ragouzis, 3Jan04
X
XApply: save patch file (or email containing patch) to mod_webkit2 dir, as "patch1"
X % cd WebKit/Adapters/mod_webkit2
X % patch -N < patch1
X
X*** mod_webkit.c Fri Jan 24 02:49:54 2003
X--- mod_webkit_ipv4.c Sat Jan 3 12:00:00 2004
X*************** static const char *handle_wkserver(cmd_p
X*** 101,105 ****
X if (word1 != NULL) cfg->host = (char*)word1;
X if (word2 != NULL) cfg->port = atoi(word2);
X! err = apr_sockaddr_info_get(&apraddr, (char*)apr_pstrdup(cmd->server->process->pool, cfg->host), APR_UNSPEC, cfg->port, 0,
cmd->server->process->pool);
X cfg->apraddr = apraddr;
X if (err !=APR_SUCCESS) log_error("Couldn't resolve hostname for WebKit Server", cmd->server);
X--- 101,105 ----
X if (word1 != NULL) cfg->host = (char*)word1;
X if (word2 != NULL) cfg->port = atoi(word2);
X! err = apr_sockaddr_info_get(&apraddr, (char*)apr_pstrdup(cmd->server->process->pool, cfg->host), APR_UNSPEC, cfg->port,
APR_IPV4_ADDR_OK, cmd->server->process->pool); /* in trans to IPv6, prefer IPv4 (NR-Nick Ragouzis) */
X cfg->apraddr = apraddr;
X if (err !=APR_SUCCESS) log_error("Couldn't resolve hostname for WebKit Server", cmd->server);
X*************** static void *webkit_create_dir_config(ap
X*** 177,181 ****
X // cfg->addr = resolve_host(cfg->host);
X
X! rv=apr_sockaddr_info_get(&apraddr, cfg->host,APR_UNSPEC, cfg->port, 0, p);
X /*
X * Now fill in the defaults. If there are any `parent' configuration
X--- 177,181 ----
X // cfg->addr = resolve_host(cfg->host);
X
X! rv=apr_sockaddr_info_get(&apraddr, cfg->host,APR_UNSPEC, cfg->port, APR_IPV4_ADDR_OK, p); /* in trans to IPv6, prefer IPv4
(NR-Nick Ragouzis) */
X /*
X * Now fill in the defaults. If there are any `parent' configuration
SHAR_EOF
: || $echo 'restore of' 'patch1' 'failed'
fi
$echo $shar_n 'x -' 'lock directory' "\`_sh29362': " $shar_c
if rm -fr _sh29362; then
$echo 'removed'
else
$echo 'failed to remove'
fi
exit 0
===========cut to here ==============
-----Original Message-----
From: Jim [mailto:jbucher@...]
Sent: Monday, January 05, 2004 09:14 AM
To: Nick Ragouzis
Subject: Re: [Webware-discuss] mod_webkit cannot connect using 'localhost'; invokes IPv6
Thanks. I have this same problem. I changed to 127.0.0.1 and now I get
this message in the apache error_log.
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): In webkit_handler
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): dictionaries built
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): Status: 301
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): In webkit_handler
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): dictionaries built
[Mon Jan 05 11:01:29 2004] [debug] mod_webkit.c(73): Status: 301
...
Mozilla gives the error - Redirection limit for this URL exceeded.
|