HOWTO: IP version 6

IPv6 bindings

Since version 6.0, Hiawatha has support for IPv6. To use IPv6, you have to define an IPv6 binding:

Binding {
    Port = 80
    Interface = ::1
}

This example will bind the IPv6 localhost interface.

When you are using IPv6 and you receive an error while binding IPv4 interfaces, you have to use the Interface setting for all IPv4 bindings. So, if this configuration:

# Binds all IPv4 interfaces:
Binding {
    Port = 80
}

# Bind IPv6 interface:
Binding {
    Port = 80
    Interface = <IPv6 address>
}

gives an error, try the following:

# Bind IPv4 interfaces:
Binding {
    Port = 80
    Interface = 127.0.0.1
}
Binding {
    Port = 80
    Interface = <IPv4 address>
}

# Bind IPv6 interface:
Binding {
    Port = 80
    Interface = <IPv6 address>
}

IPv6 FastCGI servers

To use an IPv6 FastCGI server, use the following notation for the ConnectTo option:

FastCGIserver {
    ...
    ConnectTo = [<IPv6 address>]:<port>
}
or
FastCGIserver {
    ...
    ConnectTo = <IPv6 address>.<port>
}