IPv4 & IPv6
mdounin at mdounin.ru
Sat Apr 6 10:39:05 UTC 2013
On Sat, Apr 06, 2013 at 02:25:54AM -0400, B.R. wrote:
> It seems I solved the problem...
> It was indeed by reading a little more carefully the doc
> http://wiki.nginx.org/HttpCoreModule#listen, thanks @Lukas! ;o)
> The '*:80' syntax is used for IPv4 listening, I don't understand why it
> works as-is for you Ted. Maybe Maxim will be of a better help on that case.
> It is said that the IPv6 syntax will make Nginx listen for the 6to4 IP
> address syntax, making the websites reachable through IPv4, even if no
> specific IPv4 binding exist for the listening sockets.
> listen [::]:80;
> I have:
> $ sudo ss -lnp|grep nginx
> 0 128 :::80
> :::* users:(("nginx",***,11),("nginx",***,11))
> 0 128 :::443
> :::* users:(("nginx",***,12),("nginx",***,12))
> You shall *not* have 2 'listen' directive if you did not separate you IPv6
> and IPv4 stacks (with the sysctl net.ipv6.bindv6only directive set to 1).
This is wrong aproach and it will no longer work for you after
1.3.x upgrade. As I already suggested, use
listen [::]:80 ipv6only=on;
instead as a portable solution, which doesn't depend on a system
configuration. (In 1.3.x, the "ipv6only=on" part can be removed
as it's now the default.)
More information about the nginx