IPv4 & IPv6
Igor Sysoev
igor at sysoev.ru
Sat Apr 6 15:23:42 UTC 2013
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name one;
...
}
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
server_name one;
...
}
--
Igor Sysoev
http://nginx.com/services.html
On Apr 6, 2013, at 19:01 , B.R. wrote:
> Add-on:
>
> Besides, as I explained earlier, having generic 'listen' directives implies some difficulties.
>
> For example, I am using 2 virtual servers to serve content for the same server_name, one listening on port 80, the other on port 443, allowing me to serve cotnent for HTTP and HTTPS in different fashions.
> Using generic 'listen' directive breaks that system and I'm stuck.
>
> What would be an acceptable solution?
> Thanks,
> ---
> B. R.
>
>
> On Sat, Apr 6, 2013 at 10:52 AM, B.R. <reallfqq-nginx at yahoo.fr> wrote:
> But as I noticed earlier, these configuration directives conflict with each other across multiple virtual servers...
> That's a huge step backwards.
>
> Having to specify them only once across every configuration file is counter-intuitive.
> Why isn't nginx able to summarize all the needs for listening sockets across configuraiton files before attempting to open them?
> Having to define those listening directives in a 'generic default server' is awkward and looks ugly.
>
> ---
> B. R.
>
>
> On Sat, Apr 6, 2013 at 6:39 AM, Maxim Dounin <mdounin at mdounin.ru> wrote:
> Hello!
>
> On Sat, Apr 06, 2013 at 02:25:54AM -0400, B.R. wrote:
>
> > Hello,
> >
> > 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.
> > Using:
> > 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;
> 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.)
>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130406/6ecc9063/attachment.html>
More information about the nginx
mailing list