Op 27-11-2012 23:56, Christopher Schultz schreef:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Harm-Jan,

On 11/27/12 3:32 PM, Zorro wrote:
Op 27-11-2012 20:00, Christopher Schultz schreef:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Harm-Jan,

On 11/26/12 3:16 PM, Zorro wrote:
I have now this in my server.xml: For IPv4: <Connector
port="80" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" address="0.0.0.0" /> For IPv6: <Connector
port="80" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" address="::0" />

With this setup I can connect to port 80 over Ipv4 And IPv6 to
my Linux box.
So, a recap:

* NIO/BIO connector binds to both IPv4 and IPv6 when no "address"
is specified

* APR connector binds only to IPv6 interface is IPv6 is
available, otherwise only IPv4

* Linux vs. Windows is not relevant

Do I have that all right? Or does Linux work as expected (bind to
both interfaces) and Windows does not?

Ideally, this should work everywhere:

<Connector port="80" protocol="HTTP/1.1" />

... and listen on both 0.0.0.0:80 and :::80

The only configuration shown by Zorro has two connectors and says
that works on Windows.

On a Windows Vista PC I have also installed Tomcat 7.0.32 and
the Windows installation set downloaded from tomcat.apache.org
uses per default the Native Library. I have not changed
anything in the configuration yet and on that PC a telnet
127.0.0.1 80 is ok while a IPv6 telnet ::1 80 fails.
You mean using the above configuration?

So, you have 2 connectors on Windows and one of them doesn't work
at all? Please stop Tomcat, delete all log files, confirm your
(2-connector) configuration, start Tomcat, then re-post your
<Connector> configuration and the complete catalina.out log file,
plus versions of everything all at once.

Better yet, if you could provide a matrix of configurations that
*do* work versus *don't* work, that would be great, too. I'm
specifically interested in knowing if this is a generic APR
problem, or only APR-on-Windows. Jeffrey Janner has had problems
on Windows (which may be a win32 TCP/IP stack problem) but if it
doesn't work on Linux, either, then perhaps it really is a bug
with APR or tcnative.

Maybe its worth it to include it in the documentation of the
native library.
Maybe it's worth filing a bug report. If I can get you to
cough-up full details, it will make it much easier.

- -chris
Chris,

This is what I observed. Tomcat 7.0.32

1. Linux (Fedora 14, gcc 4.5.1, OpenJDK IcedTea6 1.9.10 java
version 1.6.0_20)

One connector for port 80 defined without the address attribute:

* NIO/BIO connector binds to both IPv4 and IPv6 when no "address"
is specified * APR connector binds only to IPv6 interface if IPv6
is available, otherwise only IPv4

---------

2. Windows Vista (java version 1.7.0_09)

One connector for port 80 defined without the address attribute:

* NIO/BIO connector binds to both IPv4 and IPv6 when no "address"
is specified * APR connector binds only to IPv4 interface (not to
IPv6).
What about when specifying two connectors, one for IPV4 and one for IPv6?

Chris, André,

Specifying 2 Connectors in the server.xml:
For IPv4:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" address="0.0.0.0"/>
For IPv6:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" address="::0"/>

1. Linux

* APR connector binds for IPv6 to the IPv6 Connector and for IPv4 to the IPv4 Connector
* NIO/BIO connector binds to the IPv4 Connector

For NIO/BIO the catalina.log shows exceptions:
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-0:0:0:0:0:0:0:0-80"]
java.net.BindException: Address already in use /0:0:0:0:0:0:0:0:80
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:406)
    ...

---------

2. Windows Vista

* APR connector binds for IPv6 to the IPv6 Connector and for IPv4 to the IPv4 Connector
* NIO/BIO connector binds to the IPv4 Connector

For NIO/BIO the catalina.log shows exceptions:
28-nov-2012 21:45:55 org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-0:0:0:0:0:0:0:0-80"]
java.net.BindException: Address already in use: JVM_Bind /0:0:0:0:0:0:0:0:80
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:406)
    ...

Regards,
Harm-Jan


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

Reply via email to