From b69f8fa5d35fcf5376cf18ad7d7266379873cdfb Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Fri, 14 Feb 2003 13:39:43 +0000 Subject: [PATCH] Replace the section on IPv6 with new text that accounts for --[enable|disable]-v4-mapped configure option and the varying default for it. PR: 16739 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98650 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/bind.html.en | 58 +++++++++++++++++++++++++--------------- docs/manual/bind.xml | 58 +++++++++++++++++++++++++--------------- 2 files changed, 72 insertions(+), 44 deletions(-) diff --git a/docs/manual/bind.html.en b/docs/manual/bind.html.en index d63e402a51..89d4bd9152 100644 --- a/docs/manual/bind.html.en +++ b/docs/manual/bind.html.en @@ -79,44 +79,58 @@

Special IPv6 Considerations

-

When APR supports IPv6, Apache will create IPv6-capable listening - sockets by default (i.e., when no IP address is specified on the - Listen directive). In other words, when APR supports IPv6,

+

A growing number of platforms implement IPv6, and APR supports + IPv6 on most of these platforms, allowing Apache to allocate IPv6 + sockets and handle requests which were sent over IPv6.

+ +

One complicating factor for Apache administrators is whether or + not an IPv6 socket can handle both IPv4 connections and IPv6 + connections. Handling IPv4 connections with an IPv6 socket uses + IPv4-mapped IPv6 addresses, which are allowed by default on most + platforms but are disallowed by default on FreeBSD, NetBSD, and + OpenBSD in order to match the system-wide policy on those + platforms. But even on systems where it is disallowed by default, a + special configure parameter can change this behavior for Apache.

+ +

If you want Apache to handle IPv4 and IPv6 connections with a + minimum of sockets, which requires using IPv4-mapped IPv6 addresses, + specify the --enable-v4-mapped configure option and use + generic Listen directives like the following:

Listen 80

-

is equivalent to

+

With --enable-v4-mapped, the Listen directives in the + default configuration file created by Apache will use this form. + --enable-v4-mapped is the default on all platforms but + FreeBSD, NetBSD, and OpenBSD, so this is probably how your Apache was + built.

-

- Listen [::]:80 -

- -

When APR does not support IPv6,

+

If you want Apache to handle IPv4 connections only, regardless of + what your platform and APR will support, specify an IPv4 address on all + Listen directives, as in the following examples:

- Listen 80 + Listen 0.0.0.0:80 + Listen 192.170.2.1:80

-

is equivalent to

+

If you want Apache to handle IPv4 and IPv6 connections on separate + sockets (i.e., to disable IPv4-mapped addresses), specify the + --disable-v4-mapped configure option and use specific Listen + directives like the following:

+ Listen [::]:80 Listen 0.0.0.0:80

-

On some platforms, such as NetBSD, binding to the IPv6 wildcard address - ("::") does not allow Apache to accept connections on IPv4 interfaces. - In this situation, multiple Listen directives are required, as shown - below:

- -

- Listen 0.0.0.0:80
- Listen [::]:0 -

+

With --disable-v4-mapped, the Listen directives in the + default configuration file created by Apache will use this form. + --disable-v4-mapped is the default on FreeBSD, NetBSD, and + OpenBSD.

-

Apache does not currently detect this, so the Listen statements must - be edited manually by the administrator.

top

How This Works With Virtual Hosts

diff --git a/docs/manual/bind.xml b/docs/manual/bind.xml index 4f342ee06a..5eeb8ea0f1 100644 --- a/docs/manual/bind.xml +++ b/docs/manual/bind.xml @@ -77,44 +77,58 @@
Special IPv6 Considerations -

When APR supports IPv6, Apache will create IPv6-capable listening - sockets by default (i.e., when no IP address is specified on the - Listen directive). In other words, when APR supports IPv6,

+

A growing number of platforms implement IPv6, and APR supports + IPv6 on most of these platforms, allowing Apache to allocate IPv6 + sockets and handle requests which were sent over IPv6.

+ +

One complicating factor for Apache administrators is whether or + not an IPv6 socket can handle both IPv4 connections and IPv6 + connections. Handling IPv4 connections with an IPv6 socket uses + IPv4-mapped IPv6 addresses, which are allowed by default on most + platforms but are disallowed by default on FreeBSD, NetBSD, and + OpenBSD in order to match the system-wide policy on those + platforms. But even on systems where it is disallowed by default, a + special configure parameter can change this behavior for Apache.

+ +

If you want Apache to handle IPv4 and IPv6 connections with a + minimum of sockets, which requires using IPv4-mapped IPv6 addresses, + specify the --enable-v4-mapped configure option and use + generic Listen directives like the following:

Listen 80 -

is equivalent to

+

With --enable-v4-mapped, the Listen directives in the + default configuration file created by Apache will use this form. + --enable-v4-mapped is the default on all platforms but + FreeBSD, NetBSD, and OpenBSD, so this is probably how your Apache was + built.

- - Listen [::]:80 - - -

When APR does not support IPv6,

+

If you want Apache to handle IPv4 connections only, regardless of + what your platform and APR will support, specify an IPv4 address on all + Listen directives, as in the following examples:

- Listen 80 + Listen 0.0.0.0:80 + Listen 192.170.2.1:80 -

is equivalent to

+

If you want Apache to handle IPv4 and IPv6 connections on separate + sockets (i.e., to disable IPv4-mapped addresses), specify the + --disable-v4-mapped configure option and use specific Listen + directives like the following:

+ Listen [::]:80 Listen 0.0.0.0:80 -

On some platforms, such as NetBSD, binding to the IPv6 wildcard address - ("::") does not allow Apache to accept connections on IPv4 interfaces. - In this situation, multiple Listen directives are required, as shown - below:

- - - Listen 0.0.0.0:80
- Listen [::]:0 -
+

With --disable-v4-mapped, the Listen directives in the + default configuration file created by Apache will use this form. + --disable-v4-mapped is the default on FreeBSD, NetBSD, and + OpenBSD.

-

Apache does not currently detect this, so the Listen statements must - be edited manually by the administrator.

-- 2.40.0