-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Jeffrey,

On 4/4/14, 10:50 AM, Jeffrey Janner wrote:
>> -----Original Message----- From: André Warnier
>> [mailto:a...@ice-sa.com] Sent: Thursday, April 03, 2014 5:27 PM To:
>> Tomcat Users List Subject: Re: AW: AW:
>> tomcat-connectors-1.2.39-windows-x86_64-iis does not work
>> 
>> Christopher Schultz wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>>> 
>>> André,
>>> 
>>> On 4/3/14, 3:34 PM, André Warnier wrote:
>>>> Alten, Jessica-Aileen wrote:
>>>>>> -----Ursprüngliche Nachricht----- Von: André Warnier 
>>>>>> [mailto:a...@ice-sa.com] Gesendet: Donnerstag, 3. April
>>>>>> 2014 15:36 An: Tomcat Users List Betreff: Re: AW: 
>>>>>> tomcat-connectors-1.2.39-windows-x86_64-iis does not
>>>>>> work
>>>>>> 
>>>>>> Alten, Jessica-Aileen wrote:
>>>>>>>> A bit guessing here :
>>>>>>>> 
>>>>>>>> You have :
>>>>>>>>> worker.ajp13w.host=localhost
>>>>>>>> and
>>>>>>>> 
>>>>>>>>> jk_open_socket::jk_connect.c (735): connect to 
>>>>>>>>> 0.0.0.0:8009
>>>>>> failed
>>>>>>>>> (errno=49)
>>>>>>>> is "localhost" == 0.0.0.0  ?
>>>>>>>> 
>>>>>>>> From the point of view of mod_jk/isapi, should it not
>>>>>>>> be
>>>>>> "127.0.0.1" ?
>>>>>>> Your answer points to the right direction. 0.0.0.0
>>>>>>> means: any configured IPv4-Address on this computer,
>>>>>>> see
>>>>>>> 
>>>>>>> http://serverfault.com/questions/78048/whats-the-difference-
>>
>>>>>>> 
betwee
>>>>>>> n-
>>> ip
>>>>>>> -addre ss-0-0-0-0-and-127-0-0-1
>>>>>>> 
>>>>>>> In principle this is ok at first. The Ajp13 Connector
>>>>>>> was configured in server.xml to listen at any IPv4
>>>>>>> address on port 8009 - which is the default setting.
>>>>>>> But the connector can't find any suitable
>>>>>> address.
>>>>>>> The problem is: The new Tomcat-Connector can't parse 
>>>>>>> "worker.ajp13w.host=localhost", instead localhost must
>>>>>>> be
>> replaced
>>>>>>> with "127.0.0.1", this works!
>>>>>>> 
>>>>>>> In my eyes this is a big fat bug, because most
>>>>>>> documentation on workers use "localhost". localhost is
>>>>>>> actually the default for
>> the
>>>>>>> "host" connection directive.
>>>>>>> 
>>>>>>> The new worker directive "prefer_ipv6" doesn't change
>>>>>>> this behavior.
>>>>>>> 
>>>>>> Hi.
>>>>>> 
>>>>>> Can you please really check this ?
>>>>>> 
>>>>>> Open a command window on that server, and do "ping
>>>>>> localhost". It should tell you what it understands by
>>>>>> "localhost". Copy and paste the result here :
>>>>> ping localhost
>>>>> 
>>>>> Ping wird ausgeführt für xyz.uv.local [127.0.0.1] mit 32
>>>>> Bytes Daten: Antwort von 127.0.0.1: Bytes=32 Zeit<1ms
>>>>> TTL=128 Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
>>>>> Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128 Antwort
>>>>> von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
>>>>> 
>>>>> Ping-Statistik für 127.0.0.1: Pakete: Gesendet = 4,
>>>>> Empfangen = 4, Verloren = 0 (0% Verlust), Ca. Zeitangaben
>>>>> in Millisek.: Minimum = 0ms, Maximum = 0ms, Mittelwert =
>>>>> 0ms
>>>>> 
>>>>> 
>>>> That /is/ bizarre.  As far as I know, to resolve hostnames in
>>>> its configuration, mod_jk/isapi is using the OS's resolver
>>>> library, the same as the one "ping" should be using. On the
>>>> other hand, you say that if you have
>>>> 
>>>>>>>>> worker.ajp13w.host=localhost
>>>> it doesn't work (mod_jk cannot connect to tomcat), but when
>>>> you change this to
>>>> 
>>>>>>>>> worker.ajp13w.host=127.0.0.1
>>>> then it works fine.
>>>> 
>>>> Ok, another check in a command window (and I assume that you
>>>> open this command window *on the server itself* where mod_jk
>>>> and Tomcat are running, right ?)
>>>> 
>>>> test :
>>>> 
>>>> 1) telnet localhost 8009
>>>> 
>>>> 2) telnet 127.0.0.1 8009
>>>> 
>>>> Any difference between these 2 cases ?
>>>> 
>>>> If not, then indeed it looks like a mod_jk/isapi_redirect
>>>> 1.2.39 problem.
>>>> 
>>>> In any case, you cannot "connect to" 0.0.0.0, as this log
>>>> line would suggest :
>>>> 
>>>>>>>>> jk_open_socket::jk_connect.c (735): connect to 
>>>>>>>>> 0.0.0.0:8009
>>>>>> failed
>>> 
>>> Could this be an interaction between IPv4 and IPv6? Try:
>>> 
>>> C:> nslookup localhost
>>> 
>>> You might get only 127.0.0.1 or you might also get :: (or
>>> something equivalent). I'm not sure why it wasn't happening
>>> with earlier versions of mod_jk (which?).
>>> 
>> (versions : her first post mentioned the versions she was
>> comparing)
>> 
>> I previously asked Jessica-Aileen to do a "ping localhost" on
>> the machine, see results above.  It definitiely pings 127.0.0.1
>> .. (assuming it was done on the same machine)
>> 
>> And I don't think that nslookup uses the local resolver. When I'm
>> doing that on my Windows laptop, for "localhost" it responds "not
>> found" (in many more German words)
>> 
>> C:\Dokumente und Einstellungen\aw>nslookup localhost Server:
>> fire-see.localdomain Address:  192.168.245.253
>> 
>> *** localhost wurde von fire-see.localdomain nicht gefunden:
>> Non- existent domain
>> 
>> On the other hand, it does this (spot the difference..):
>> 
>> C:\Dokumente und Einstellungen\aw>nslookup localhost. Server:
>> fire-see.localdomain Address:  192.168.245.253
>> 
>> Name:    localhost Address:  127.0.0.1
>> 
>> (But that of course could be the "localhost" of my DNS server,
>> since it happens to be a Linux box running dnsmasq, and it has
>> that name in it's own hosts file.)
>> 
> This result is understandable, as the nslookup tool is a DNS
> resolver tool.  It's designed to query the DNS system directly,
> avoiding the systems resolver and any caching. Not exactly sure why
> it resolves "localhost.", but adding the final period tells it not
> to append the default domain.  In other words, localhost. Is a
> top-level domain.  Perhaps there is a special case built into the
> DNS system for that. The difference here is that the resolver is
> going to search DNS and the local hosts table, usually with the
> local hosts table (/etc/hosts in *nix) taking precedence. I've not
> followed the complete thread, but if the server is a *nix
> implementation, the better diag tool might be dig. And yes, I would
> not expect the address 0.0.0.0 on a client to connect to the
> localhost.  That is a special case address meaning "local network".
> If anything, it would be sending packets out the NIC card, not via
> loopback.

0.0.0.0 means "all IPv4 interfaces available" and only applies for
binding a server socket. You can never connect to "0.0.0.0" as a client.

Jessica-Aileen, can you enable mod_jk's DEBUG logging? It might be
instructive to see what it's trying to load when you give it
"localhost". I haven't checked the code, but it might tell us what's
going on with its name resolution.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTPs5tAAoJEBzwKT+lPKRYCvIQAJbXcUMzhL0v/LYvuXCnV1lB
I1iRUfeQvcCw9Mi+2U8MVVIGm2UbMk6c/60H/p+ybFDBW0v22IvlIl80FqjzG2ma
kS5RMaYtIkIbNSWFI4ijLQMCzahKwBR4UO71F3HVtm2oCTKrOP3Rr490UPSmPTgf
EQJjYJtT1zbzfSYPS/B98iLawaRz73iySlswHymUp10ZRmwphgnZukKD8slENXw0
M2Ka5nQfNI60vSKPZ9lsuBtKjpo2FyBaJVRWUN268lVBzLlYdLiGmNCHKqLgS07n
q1OQTBFiQEAYqJbh0gRgM6AdOD6+od5uKuM6VGkG4co1pIwmWBzHuMCF/VmrSnfY
+9ROZ3WJ1/vB1UF6uuuu6bTGWMS6HdEfjDy3RF5EZt2ibZ4VuuMBQD2iTLSpkspk
00vbjY0K/rcyIu9x3l4mcFSrEFS9aTzugX4Z8RtYA3mwrSvrNUYjcFuTH2kCNZUP
8uG5JQFKzmPK1PU6yiXMV7wPdP2RYeHzM600sJxQ78ZT2kNlmIllppxTlOYn8nQQ
zoSn2d8K6MSWPyw8zGwal7RDjEoBBLeeiksw2WXMTd3hVUJ7eBJ04byUci/6TUCw
16vm7pjjtuQxb1EqycZrFYUYUnpuK3yYTITDIhY/gbwP3SZkH132Hb5csWEjCLE5
okPexSaTkOr08dnCLYb8
=l30G
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to