Difference between revisions of "IPv6 Server: Webserver Apache2 (httpd2)"

From OnnoWiki
Jump to navigation Jump to search
(New page: 22.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 ...)
 
Line 5: Line 5:
  
 
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.
 
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.
 +
 
22.3.1.1. Virtual host listen on an IPv6 address only
 
22.3.1.1. Virtual host listen on an IPv6 address only
  
Listen [2001:0db8:100::1]:80
+
Listen [2001:0db8:100::1]:80
<VirtualHost [2001:0db8:100::1]:80>
+
<VirtualHost [2001:0db8:100::1]:80>
        ServerName ipv6only.yourdomain.yourtopleveldomain
+
        ServerName ipv6only.yourdomain.yourtopleveldomain
        # ...sure more config lines
+
        # ...sure more config lines
</VirtualHost>
+
</VirtualHost>
  
 
22.3.1.2. Virtual host listen on an IPv6 and on an IPv4 address
 
22.3.1.2. Virtual host listen on an IPv6 and on an IPv4 address
  
Listen [2001:0db8:100::2]:80  
+
Listen [2001:0db8:100::2]:80  
Listen 1.2.3.4:80
+
Listen 1.2.3.4:80
<VirtualHost [2001:0db8:100::2]:80 1.2.3.4:80>
+
<VirtualHost [2001:0db8:100::2]:80 1.2.3.4:80>
        ServerName ipv6andipv4.yourdomain.yourtopleveldomain
+
        ServerName ipv6andipv4.yourdomain.yourtopleveldomain
        # ...sure more config lines
+
        # ...sure more config lines
</VirtualHost>
+
</VirtualHost>
  
 
This should result after restart in e.g.
 
This should result after restart in e.g.
  
# netstat -lnptu |grep "httpd2\W*$"  
+
# netstat -lnptu |grep "httpd2\W*$"  
tcp 0 0 1.2.3.4:80          0.0.0.0:* LISTEN 12345/httpd2  
+
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::1:80 :::*      LISTEN 12345/httpd2  
tcp 0 0 2001:0db8:100::2:80 :::*      LISTEN 12345/httpd2
+
tcp 0 0 2001:0db8:100::2:80 :::*      LISTEN 12345/httpd2
  
 
For simple tests use the telnet example already shown.
 
For simple tests use the telnet example already shown.

Revision as of 11:27, 22 June 2013

22.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. 22.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.

22.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>

22.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. 22.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.