让nginx支持ipv6

先用nginx/sbin/nginx -V 查看已安装的模块,具体前面路径,根据你安装的位置。
如果有–with-ipv6,则表示已安装此模块,否则需要重新编译安装

./configure --prefix=/mnt/nginx --with-http_ssl_module --with-pcre --with-ipv6

配置:
1.同时监听IPV4和IPV6

server {
....
listen [::]:80;
...
}

2.只监听IPV6

server {
....
listen [::]:80 default ipv6only=on;
...
}

3.监听指定IPV6地址

server {
....
listen [3608:f0f0:3002:31::1]:80;
...
}

重启nginx

/usr/local/nginx-1.7.0/sbin/nginx -s reload

注意:
从Nginx 1.3 的某个版本起,默认ipv6only是打开的,也就是上面的语句只会监听IPv6的端口而不会监听IPv4的端口,所以为了一致性的考虑(新版本Nginx必须推荐这样做),请使用分开监听的方法:

listen 80;
listen [::]:80 ipv6only=on;

以上是nginx的配置,但是可能会出现Address family not supported by protocol的错误,那是网卡的地址不支持,也就是说没有ipv6的地址,一样是不行的

内容转自 https://blog.csdn.net/jmingbh/article/details/69388647

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/94594797