Department of Defense
High Performance Computing Modernization Program

The Apache web server has had Internet Protocol version 6 (IPv6) support built in and enabled by default since 2002 (with the release of version 2.0.43). The authoritative source for Apache Web Server is the Apache HTTP Server Project, which does not explicitly address many IPv6 topics. It does address Special IPv6 Considerations for mapping IPv4 and IPv6 addresses.

Complete the 8 steps described in this Get Your Site Ready for IPv6 article for the host computer your Apache web server is installed on.

The configuration information shown below comes from the Linux IPv6 HOWTO (en) site maintained by Peter Bieringer. Additional articles about Apache web server IPv6 configuration for Linux and virtual hosts are available here

Chapter 22. Hints for IPv6 enabled daemons

3. Webserver Apache2 (httpd2) 

Apache web server supports IPv6 native by maintainers since 2.0.14. Available patches for the older 1.3.x series are not current and shouldn't be used in public environment, but available at KAME/Misc.

3.1. Listening on IPv6 addresses

Note: virtual hosts on IPv6 addresses are broken in versions until 2.0.28 (a patch is available for 2.0.28). But always try latest available version first because earlier versions had some security issues.

3.1.1. Virtual host listen on an IPv6 address only

Listen [2001:0db8:100::1]:80

<VirtualHost [2001:0db8:100::1]:80>
        ServerName ipv6only.yourdomain.yourtopleveldomain         # ...sure more config lines
</VirtualHost>

3.1.2. Virtual host listen on an IPv6 and on an IPv4 address

Listen [2001:0db8:100::2]:80 
Listen 1.2.3.4:80
<VirtualHost [2001:0db8:100::2]:80 1.2.3.4:80>
        ServerName ipv6andipv4.yourdomain.yourtopleveldomain
        # ...sure more config lines
</VirtualHost>

This should result after restart in e.g.

# netstat -lnptu |grep "httpd2\W*$"
tcp 0 0 1.2.3.4:80          0.0.0.0:* LISTEN 12345/httpd2 
tcp 0 0 2001:0db8:100::1:80 :::*      LISTEN 12345/httpd2
tcp 0 0 2001:0db8:100::2:80 :::*      LISTEN 12345/httpd2

For simple tests use the telnet example already shown.

3.1.3. Additional notes

·      Apache2 supports a method called “sendfile” to speedup serving data. Some NIC drivers also support offline checksumming. In some cases, this can lead to connection problems and invalid TCP checksums. In this cases, disable “sendfile” either by recompiling using configure option “--without-sendfile” or by using the "EnableSendfile off" directive in configuration file.

 


Top