先在终端下输入以下指令,看看输出结果有没有–with-ipv6,没有的话就需要重新编译带有ipv6支持的nginx了。
nginx -V
编译nginx就不在这里说了,下面讲一下正确地配置nginx让其同时监听IPv4和IPv6的端口(包括http协议的80和https协议的443端口),同时介绍一下只监听IPv6和特定IPv6地址的方法。
我想同时监听IPv4和IPv6地址
编辑/etc/nginx/conf.d/default.conf,将server段的listen语句改成:
listen [::]:80;
06 Nov. 2014 Update
从Nginx 1.3 的某个版本起,默认ipv6only是打开的,也就是上面的语句只会监听IPv6的端口而不会监听IPv4的端口。虽然Linux系统默认是监听IPv6的某个端口会同时监听对应的IPv4的端口,但是FreeBSD是默认分开IPv6和IPv4的。所以为了一致性的考虑(新版本Nginx必须推荐这样做),请使用分开监听的方法:
listen [::]:80 default ipv6only=on;
我只想监听IPv6地址,不想监听IPv4地址
没问题,将listen写成:
listen [::]:80 default ipv6only=on;
我想监听一个指定的IPv6地址
和IPv4指定地址一样,就在listen里写上完整的地址就OK了!以一个IPv6地址为例:
listen [2607:f0d0:1002:51::4]:80;
我想要IPv6监听SSL(443)端口
编辑你原来监听443端口的配置文件,如/etc/nginx/conf/nginx.conf,修改listen语句为:
listen [::]:443 ssl;
后面的ssl可省掉。443端口的其它用法和80端口一样,SSL的配置方法可以参考这个指南,这里就不赘述了。
修改完成后,必须重启nginx服务(reload是不行的):
service nginx restart
亲爱的:被墙域名跳转TG:@qianhenetwork QQ:851617266,可否收藏+评论+分享呢?
文章评论 本文章有个评论